WIP: starting to add recurrence support