use verbose name for errors and add print methods for them
let the user decide the fields in the CSV file
export the driver function
a simple manual