better canvas integration