add getStateIndexBefore function