canvas shapes module refactoring