improved swipe to turn listener