various changes, including: rewrite makefile, change of project structure