Adapted Sphere.h