point cloud refactoring