@jcredding recursion FTW!!