New implementation proposition

Hi buddy !

It's me again.

If you doesn't want to search where was the problem, here is a solution.
Of course, I also join some improvments that you'll love :)

![You'll not recognize your code](http://media.giphy.com/media/mwVZF5WuBcGOc/original.gif)

See you,
Thomas.