working recursive directory read