Refactoring a bit and improving canvas some more