code: func NewDecoder(r io.Reader) *decoder {
  	d := &decoder{
  		scanner:  bufio.NewScanner(r),
  		nextFn:   decodeInit,
  		line:     0,
  		buffered: "",
  	}
  	return d
  }
docs: // NewDecoder creates an instance of de decoder