added CanvasRenderer