added CanvasApi interface