changed first Shapes example to use concrete Shape, instead of abstract