split out heightmap rendering and selection before implementing terrain