better swipe, still not perfect