extended Project structure and improved makefile