implement basic smooth map generation