adding more robust makefile