I knew there had to be a cleaner way. I just never really got a handle on recurssion. This is really cool.