implemeted makefile