first step toward using the same interface as customShapes