Add some more code to the shape class + derivative classes.