Split up recovery functionality into separate methods
Change first feature index (0 will be reserved for a special case)
Add performance timer to recovery method