Rewrote the Csv class to be much more useful