snapping, analyzing and algoing