adds abstract Shape class, Rectangle now inherited from Shape