Added canvas-based renderer