recusrive path fix