working makefile and source files