through recurrence