ShapesDemo working both pub and sub