implemented all gestures.