Modules, part 0
Part 0.1
Move stuff around, more include fixes