Refactor for overflow canvas. Broke a bunch of stuff. I promise I'll fix it.