Grand refactor, space is working again, haven't tested collisions but that's the next step