support multiple folder levels