added canvas.go struct