debug: recursive call