Canvas refactoring, misc stuff