Clean method is now reccursive