Refactored canvases. Fixes #5