change to 0-index interface