lots of new behaviors
cleaning up canvas