a lot less stupid map generation