perhaps faster directory walking