refactoring, pick canvas with 3 models