completed Scanner.h