private void convertDataSet(DataSet dataSet, 
								HashMap<String, LocationInfo>  locations, 
								HashMap<Integer, UserInfo> users){
		String date;
		double xCoordinate, yCoordinate;
		String[] splittedCoordinates;
		// initialize the locations
		for (Entry<String, String> entry: dataSet.getLocations().getLocationMap().entrySet()){
			splittedCoordinates = entry.getValue().split(",");
			xCoordinate = Double.valueOf(splittedCoordinates[0].substring(1));
			yCoordinate = Double.valueOf(splittedCoordinates[1].substring(1, splittedCoordinates[1].length() - 1));
			locations.put(entry.getKey(), new LocationInfo(xCoordinate, yCoordinate));
		}
		// run through the data and add the user's checkin into the hashmap, and also count the number of checkins of a location
		for (User user: dataSet.getUsers()){
			// add the user if it doesn't exist
			if (!users.containsKey(user.getUid()))
				users.put(user.getUid(), new UserInfo());
			UserInfo tempUserInfo = users.get(user.getUid());
			for (List<String> checkin: user.getCheckins()){
				date = checkin.get(1).substring(0, 7);

				tempUserInfo.incNumOfCheckin(checkin.get(0));
				locations.get(checkin.get(0)).incNumOfVisits();
				tempUserInfo.addCheckin(checkin.get(0), date);
				
				locations.get(checkin.get(0)).incNumOfVisitsPerMonth(date);
			}
		}
		// run through the friendships and add the relationships
		for (List<Integer> friends: dataSet.getFriendships()){
			if (!users.containsKey(friends.get(0)))
				users.put(friends.get(0), new UserInfo());
			if (!users.containsKey(friends.get(1)))
				users.put(friends.get(1), new UserInfo());
			users.get(friends.get(0)).addFriend(friends.get(1));
			users.get(friends.get(1)).addFriend(friends.get(0));
		}
	}