Reorganizing the codebase a bit; reworking Makefile