a module should include its own header
merge param.h into func.h
remove param.h (again...) and its include from main
update Makefile