add source in scanner.h