@Override
	public List<AccessPoint> list() {
		Process p;
		ProcessBuilder pb = new ProcessBuilder("nm-tool");
		List<AccessPoint> accessPoints = new ArrayList<AccessPoint>();

		try {
			p = pb.start();
			BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));

			String line;
			while ((line = br.readLine()) != null) {
				Matcher m = WIFI_PATTERN.matcher(line);
				if (m.find()) {
					accessPoints.add(new AccessPoint(m.group(1), m.group(2), Integer.parseInt(m.group(7))));
				}
			}
		} catch (IOException e) {
			throw new RuntimeException(e);
		}

		return accessPoints;
	}