implemented PointSet