add Makefile, implement base