cleaning things up with canvas and context