basic implementation of simplecanvas