- recursive rules now work