I didn't know that such a thing was possible- for a function to return, and to reenter it from the inside!