add makefile & more