Update project structure and new Makefile