new makefile and file reorg