improving CSVInputProtocol