separated main into main and ReadGeometry