Add scanner, based on go/scanner