Refactoring
Clean up makefile
Eta reduce