interactive zooming and panning