Added recursive method