Shapes revisions

First set of updates to the Shapes classes to bring them up to scratch
with commenting practises