Functions were separated into different sources, Makefile made