WIP not sure if building properly
New cleanse function replaces all functionality of previous recursion.