Solid structure is now an abstract class with two virtual methods (intersect and normal). A new class for spheres is added (successor of Solid). Normal vectors of the spheres are calculated by performing AD to the implicit. The Scene is now polymorphic array.