Add Makefile, improve directory structure, some changes

Add Makefile, improve directory structure