Refactor index interface