private void initialize(String fileName) throws IOException {
		
		BufferedReader br = new BufferedReader(new FileReader(fileName));
		String nextLine;
		
		while ((nextLine = br.readLine()) != null) {
		
			if (nextLine.trim().equals("DESTINATIONS")) {
				while (!(nextLine = br.readLine().trim())
						.equals("END_DESTINATIONS")) {
					if (!nextLine.isEmpty()) {
						
						String[] destParams = nextLine.split(" ");
						this.destinations.add(new Destination(
								Integer.parseInt(destParams[1]), 
								Integer.parseInt(destParams[2]), 
								destParams[0]));
					
					} // if - line not empty
				} // while - still loading destinations
			} // if - loading destinations
			
			else if (nextLine.trim().equals("GROUP_CONTROLLERS")) {
				while (!(nextLine = br.readLine().trim())
						.equals("END_GROUP_CONTROLLERS")) {
					if (!nextLine.isEmpty()) {
						
						String[] gcParams = nextLine.split(" ", 4);
						GroupController controller = new GroupController(
								Integer.parseInt(gcParams[1]), 
								Integer.parseInt(gcParams[2]), 
								gcParams[0], gcParams[3]);
						addressMap.put(
								new XBeeAddress64(gcParams[3]), controller);
						
						while (!(nextLine = br.readLine().trim())
								.equals("END_SPACES")) {
							String[] spaceParams = nextLine.split(" ");
							this.spaces.add(controller.addSpace(
									Integer.parseInt(spaceParams[1]), 
									Integer.parseInt(spaceParams[2]), 
									controller.getId() + "." + spaceParams[0]));
						} // while - adding spaces
					
					} // if - line not empty
				} // while - still loading group controllers/parking spaces
			} // else if - loading group controllers/parking spaces
		
		} // while - not end of file
		br.close();
		
	} // initialize