adding snapping