almost finished scanner.c