Reworking the project organisation and adding gitignore and model for makefile