improving makefile and directory structure