Flyttade ut en massa funktioner till separata filer och uppdaterade Makefile