Adding Surfaces

THis has not been constructed yet, functionality to be built if desired.