canvas support and some behaviors added