removed the where recurse because it wouldnt compile