Little bit o'refactor -- implemented recursive call.