add makefile
merge makefile
reorganize