private void classify(String inputFilename, 
							HashMap<String, LocationInfo>  locations, 
							HashMap<Integer, UserInfo> users, 
							String outputFilename){
		if ((new File(inputFilename).exists())){
			// file exists, start reading data
			try {
				String line, location, result;
				String[] splittedLine;
				Integer uid;
				UserInfo tempUserInfo;
				BufferedReader bufferedReader = new BufferedReader(new FileReader(inputFilename));
				PrintWriter printWriter = new PrintWriter(new FileOutputStream(outputFilename, false), true);
				// DecimalFormat df = new DecimalFormat("##.#######");
				// String outFilename = "results/" + Config.filename + "_" + df.format(Config.minSup) + ".txt";
				// printWriter.println("\t\t\t\t\t\t\t#of visits\t#of friends\t#of friend's visits\t#of visits of location\t#of fof\t#of fof's visits");
				while ((line = bufferedReader.readLine()) != null){
					splittedLine = line.split(";");
					uid = Integer.valueOf(splittedLine[0]);
					location = splittedLine[1];
					tempUserInfo = users.get(uid);
					if (tempUserInfo.getNumOfCheckin(location) < Config.checkinThreshold && 
						tempUserInfo.getNumOfFriendsVisited(location, users) < Config.numOfFriendsVisitedThreshold && 
						tempUserInfo.getNumOfVisitsOfFriends(location, users) < Config.numOfVisitsOfFriendsThreshold && 
						locations.get(location).getNumOfVisits() < Config.locationThreshold && 
						tempUserInfo.getNearestDistanceOfVisited(location, locations) > Config.nearestDistanceOfVisitedThreshold)
						// tempUserInfo.getNearestDistanceOfVisitedLastMonth(location, locations, "2010-07") > Config.nearestDistanceOfVisitedLastMonthThreshold)
						result = ";No";
					else
						result = ";Yes";
					printWriter.println(line + result);
					// String temp = line.indexOf(result) == -1?"nooooooooooooo":"";
					// printWriter.println(line + result + "\t" + 
					// 					tempUserInfo.getNumOfCheckin(location) + "\t\t\t" + 
					// 					tempUserInfo.getNumOfFriendsVisited(location, users) + "\t\t\t" + 
					// 					tempUserInfo.getNumOfVisitsOfFriends(location, users) + "\t\t\t\t\t" + 
					// 					locations.get(location).getNumOfVisits() + "\t\t\t\t\t\t" + 
					// 					tempUserInfo.getNumOfFriendsOfFriendsVisited(location, users) + "\t\t" + 
					// 					tempUserInfo.getNumOfVisitsOfFriendsOfFriends(location, users) +  "\t" + 
					// 					df.format(tempUserInfo.getNearestDistanceOfVisited(location, locations)) +"\t" + 
					// 					df.format(tempUserInfo.getNearestDistanceOfVisitedLastMonth(location, locations, "2010-07")) + "\t" + 
					// 					temp);
					// for (Entry<String, Integer> numOfVisitsPerMonth: locations.get(location).getNumOfVisitsPerMonth().entrySet()){
					// 	printWriter.println(numOfVisitsPerMonth.getKey() + ": " + numOfVisitsPerMonth.getValue() + ", ");
					// }
					// if (uid == 188862)
					// 	printWriter.println();
				}
				bufferedReader.close();
				printWriter.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		else{
			// file doesn't exist
			System.err.println("file doesn't exist");
			System.exit(1);
		}
	}