deleted the old approach, no reason not to only use the canvas