add scanner.cpp & scanner.h