Implementing zoom and pan behavior