added snap algos