map generation works almost good