restructure, add makefile