cleaned up gesture handling
added snapping to stop