added canvas panning