public void run() {
			// if period of last line = 0, then it's time to read the next line
			if (period <= 0) {
				// reads the next line. If reached the end of file, start over on the same file
				try {
					if((line = br.readLine()) == null) {
						fr.close();
						fr = new FileReader(fileName);
						br = new BufferedReader(fr);
						line = br.readLine();
					}
				} catch (FileNotFoundException e) {
					e.printStackTrace();
				} catch (IOException e) {
					e.printStackTrace();
				}
						
				// parse the line. from format, first is value, second field is timeTicker
				values = line.split(",");
				value = values[0];
				period = Integer.parseInt(values[1]);
			}
				
			// depends on the type, put notifications on Elvin
			if (sensorType.equals(Message.TYPE_TEMPERATURE) && tempSensorMode.equals(Message.NON_PERIODIC)) {
				controller.sendNonPeriodicTempNot(value);
			} else {
				controller.sendNotification(value);
			}
							
			// decrement period
			period--;
		}