add ShapeContext