moving to canvas/html5 approach. broken\!