add CompositeShape, use general path method to construct the shape class