added gradients and the sky. Still need to fix the divide by zero errors in the gradient function.
the sky needs some tweaking perhaps.