makefile
some design notes