Feature custom shapes

major change:
allow user to ungroup a shape