ported sphere. Drawing code is still in the sphere function, that and