implemented zooming to mouse position