added multifile source structure and a proper incremental makefile