unit tests are all passed.
Applied reflection for scanner.