Completely refactored constructors and updated Canvas
Fixing merge conflicts
Fixing merge conflicts (again)