two canvas, one state, plus some collisions detection