add makefile and restructured project