modularize with makefile
readme and makefile updates