Functions refresher
Separate compilation and makefiles