use os walk