private void fetchPositions(Car significantCar) throws IOException {
		HttpURLConnection connection = (HttpURLConnection) new URL(
				"https://mapsracer.appspot.com/position").openConnection();
		connection.setRequestMethod("GET");

		InputStreamReader streamReader = new InputStreamReader(
				connection.getInputStream());
		BufferedReader bufferedReader = new BufferedReader(streamReader);
		for (String s = bufferedReader.readLine(); s != null; s = bufferedReader
				.readLine()) {
			String[] splitString = s.split(";");
			if (splitString.length < 5) {
				continue;
			}

			String id = splitString[0];
			if (significantCar != null && significantCar.getId().equals(id)) {
				continue;
			}

			double lat = Double.parseDouble(splitString[1]);
			double lon = Double.parseDouble(splitString[2]);

			long from = Long.parseLong(splitString[3]);
			long to = Long.parseLong(splitString[4]);

			MapNode fromNode = nodes.get(from);
			MapNode toNode = nodes.get(to);

			Vector2d position = new Vector2d(lat, lon);

			position = position.setYX(position);

			Car car = allCars.get(id);
			if (car == null) {
				if (MapsRacer.DEBUG) {
					System.out.println("new car joined with id: " + id);
				}

				car = new Car();
				car.setId(id);
				car.setVelocity(CarEngine.CAR_VELOCITY);

				allCars.put(id, car);
			}

			car.setLastPosition(position);

			car.setFrom(fromNode);
			car.setTo(toNode);

			if (MapsRacer.DEBUG) {
				System.out.println("updated position for id: " + id);
			}
		}

		bufferedReader.close();
		streamReader.close();

		connection.disconnect();
	}