made recursive depth configable