parameterizable swipe, factor out gesture helpers