added pinch and zoom