Recursion to the rescue!