Reworked file structure and makefile. Separated implementation from header and made compile better