highly experimental replacement of img with canvas