reimplement forwar index -- in progress