Okay, 2 more bugs and I am really scrapping this recursive proc thing.