changed reactive canvas handling