First commit

The first working version. Should still be refactured in order to use
the View-Model-Controller model.