Replace InputToken with InputPosition

And only track start, not entire range