refactored Makefile