fixed onGestureListener