add main file and update makefile