Vastly improve project

Take some :shit: and add a :bomb: and create a large :boom: and end up with a :gem:!

This pull request vastly improves over the old by refactoring the code base completely!

:smiling_imp:

With love,
Bert
:trollface: