refactoring: lookahead tribial