added subtract function to Point3D struct