Make it recursive