New attempt at recursion.  I'm probably over complicating this.