added maxDepth support

I've added maxDepth support. When we are running a zone. We can set a maxDepth and set a depth.
When the depth exceeded, then it starts to reset the depth and begin from the first created zone as the depth =1 

Write some tests for this.