i hate recursion. can't figure out how to get out of this while loop in contribs