implemented touch gestures and mousewheel function