Canvas models

Canvas works fine for all tested cases. Now is a good time to start with editable objects and merge into base branch