support multilevel path