This will be the first post of a multi-part article. The reason for this is that
I want to include all the steps I went through: fixing, working the theory,
writing scripts, optimizing. If you want to have an idea of what I'm talking
about, here is a very similar