checking n-top behaviour
join conditions
Refactor: Cleaner without recursion.