public CSVReader(String filename) {
		rows = new ArrayList<CSVRow>();
		if(FileHelper.fileExists(filename)) {
			BufferedReader br = null;
			String line = "";
			int lineCount = 0;


			try {

				br = new BufferedReader(new FileReader(filename));
				while ((line = br.readLine()) != null) {
					if(ROW_LIMIT == -1 || lineCount < ROW_LIMIT) {


						// use comma as separator
						String[] lineSplit = line.split(csvSplitBy);

						if(lineCount == 0) {
							// This is the header row
							handleHeaderRow(lineSplit);
						} else {
							// This is the rest of the data
							handleDataRow(lineSplit);
						} // close else


					} else {
						break;
					} // close else
					lineCount++;
				} // close while

			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			} finally {
				if (br != null) {
					try {
						br.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
		}
	} // close constructor