added gradients and minor opacity additions