added pinch zoom support