Added recursive extraction strategy