re-wrote Makefile