Started Refactoring & Create Makefile