added should stop at a specified depth