enable lookahead prediction.
refactor.