new and improved makefile