Big structural update
- Divided project into files
- Replaced the compile.sh script with a makefile