updated async rDir walker and hash func