Update codes to use etyllica's Point3D