Add recursive loop to support tree-like structures