First working commit

This commit includes the main functionalities
I wanted to build.