public List<List<String>> read(int linestart) {

		List<List<String>> newDAWNStarts = new ArrayList<List<String>>();
		File file = new File(filepath);
		Charset charset = Charset.forName("UTF-8");
		try (BufferedReader reader = Files.newBufferedReader(file.toPath(), charset)) {
			String line = null;
			int linenumber = 0;
			while ((line = reader.readLine()) != null) {
				linenumber++;
				//the original module log file has a line for column headers
				if (line.length() > 0 && linenumber > linestart+1) {
					line = line.replaceAll("\\s+", " ").trim();
					String[] array = line.split("\\s");
					ArrayList<String> lineElements = new ArrayList<String>(Arrays.asList(array));
					// if the line contains the version, we dismiss it (the version)
					if (array.length == 6) {
						//remove the version from the line
						lineElements.remove(4);
					} else if (array.length == 4 && array[3].startsWith("/dls_sw")) {
						// if the line is missing the module load, we add "N/A" by default
						lineElements.add(3, "N/A");
					}
					newDAWNStarts.add(lineElements);
				}
			}
			// close buffered reader
			reader.close();
			return newDAWNStarts;
		} catch (IOException x) {
			System.out.format("IOException: %s%n", x);
			return null;
		}
	}