private static void loadOrganizationFromFile() {
		
		// get filename from user.
		System.out.print("\nEnter the filename used (q to exit): ");
		String filename = user_input.nextLine();
		
		File file = new File(filename);
		String[] path = filename.split("/");
		String orgName = path[path.length - 1]; // get name of file, not path
		BufferedReader reader = null;
		
		// cancel if organization name is invalid.
		if (orgName.equals("q") || orgName.equals("l")) {
			System.out.println("Organization name cannot be q or l");
			return;
		}
		
		try {
			reader = new BufferedReader(new FileReader(file));
			System.out.println("File found.");
		  
			// create new organization with name.
			Organization org = new Organization(orgName);
		    
			// if the organization does not already exist
			if (db.queryByExample(org).hasNext() == false) {
				
				System.out.println("Creating organization: " + orgName);
				
				// each line has a new person
				// e.g. 
				// person@website.com;team,team,team,team
		    String person;
		    while ((person = reader.readLine()) != null) {
		        String[] info = person.split(";"); 
		        String email = info[0];
		        String teamsUnsplit = info[1];
		        String[] teams = teamsUnsplit.split(",");
		        
		        // add member to specified teams
		        for (String teamName : teams) {
		        	org.addMemberToTeam(email, teamName, true);
		        }
		    }				
		    saveDatabase(org);
		    System.out.println("\n" + org);
		    
	    } else {
	    	System.out.println("The organization already exists. Halting.");
	    }

		} catch (FileNotFoundException e) {
		  System.out.println("File not found.");
		} catch (IOException e) {
			System.err.println("There was an error reading the file.");
		} finally {
		    try {
		    	if (reader != null) {
		    		reader.close();
		    	}
		    } catch (IOException e) {
		    	// it's fine.
		    }
		}
		
	}