public UserStoreImpl(String userListFilename, String level3ElectorateFilename, String level5ElectorateFilename ){
		storeFile = new File(userListFilename);
		if (storeFile.exists()){
			try{
				users = new HashMap<String, User>();
				Scanner scanner = new Scanner(storeFile);
				
				while (scanner.hasNextLine()) {
	                
					String line = scanner.nextLine();
	                String[] details = line.split("\t");
	                
	                if (details.length == 5){
	                	String surname = details[0].trim();
	                	String forename = details[1].trim();
	                	String GUID = details[2].trim();
	                	String password = details[3].trim();
	                	boolean isManager = (details[4].trim().equals("true") ? true : false);
	                	users.put(GUID, new User(surname, forename, GUID, password, isManager));
	                } else 
	                	System.out.println("Wrong details length");
				}
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		}
		else
			this.users = new HashMap<String,User>();
		
		electorateMap = new HashMap<String, Set<User>>();
		Set<User> level3Users = addElectorate(level3ElectorateFilename);
		electorateMap.put("level3", level3Users);
		Set<User> level5Users = addElectorate(level5ElectorateFilename);
		electorateMap.put("level5", level5Users);
		
	}