refactoring
new makefile