introduced ScannerContext