Use a custom scanner instead of bufio.Scanner