snapping semi working