Recursive components layer first implementation