 		let frameRenderList = RenderList(poiGroupsInFrame.map { $0 })
 		frameSwitchSemaphore.wait()
 			self.renderLists[bufferIndex] = frameRenderList
-			self.instanceUniforms[bufferIndex].contents().copyMemory(from: poiBuffer, byteCount: MemoryLayout<InstanceUniforms>.stride * poiBuffer.count)
+			self.instanceUniforms[bufferIndex].contents().copyMemory(from: poiBuffer, byteCount: MemoryLayout<InstanceUniform>.stride * poiBuffer.count)
 			self.framePoiMarkerCount[bufferIndex] = poiBuffer.count
 			self.poiBaseSize = poiScreenSize
 			self.rankThreshold = newRankThreshold

	let rankedPlaces = bucketPlaceMarkers(places: placeMarkers)
	let rankedAreas = bucketPlaceMarkers(places: areaMarkers )
	
	for (rank, place) in rankedPlaces {
		
	}
	
	for (rank, place) in rankedAreas {
	}
	
	let poiGroups: [PoiGroup] = []
	return poiGroups
}


			self.renderLists = Array(repeating: RenderList(), count: bufferCount)
			self.framePoiMarkerCount = Array(repeating: 0, count: bufferCount)
			self.instanceUniforms = (0..<bufferCount).map { _ in
				return device.makeBuffer(length: PoiRenderer.kMaxVisiblePoiMarkers * MemoryLayout<InstanceUniform>.stride, options: .storageModeShared)!
			}
			self.poiMarkerPrimitive = makePoiPrimitive(in: device)
		} catch let error {
