separated data collection from mesh generation