rewritten snap functions, many clear, wow.