implement make file and rebuild.sh