added minimum_depth and maximum_depth