functional tilemap complete