use proper CSV abstraction