Further rewrite, not playable in this version
More refactoring, game not really playable at the moment