move things into submodules, filetypes, makefile