improved makefile