add makefiles and code