Added recursive directory read support