public static EatWorldMap loadData1(Main mainContext, String fileName) {
		String everything = null;
		BufferedReader br = null;
		try {
			br = new BufferedReader(new FileReader(fileName));
			StringBuilder sb = new StringBuilder();
			String line = br.readLine();

			while (line != null) {
				sb.append(line);
				sb.append(System.lineSeparator());
				line = br.readLine();
			}
			everything = sb.toString();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				br.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		System.out.println("pre conversed = \n" + everything);
		JsonParser parser = new JsonParser();
		JsonArray levels = parser.parse(everything).getAsJsonObject()
				.getAsJsonObject("level").getAsJsonArray("border");
		JsonArray obj = parser.parse(everything).getAsJsonObject()
				.getAsJsonArray("objects");

		EatWorldMap map = new EatWorldMap();
		
		ArrayList<Point2D> vertices = new ArrayList<>(); 
		for (int i = 0; i < levels.size(); i = i + 2) {
			int x = levels.get(i).getAsInt();
			int y = levels.get(i +1).getAsInt();
			vertices.add(new Point2D(x, y));
		}
		map.setVertices(vertices);
		
//		Gson gson = new Gson();
//		map = gson.fromJson(everything, map.getClass());
//		map.getObjects().clear(); // they are wrong so delete them

		for (int i = 0; i < obj.size(); i++) {
			JsonObject object = obj.get(i).getAsJsonObject();
			String type = object.get("obj").getAsString();
			if (type.equals("METEOR")) {
				map.objects.add(new Meteor(object.get("x").getAsInt(), object
						.get("y").getAsInt(), object.get("speed").getAsInt(),
						object.get("angle").getAsInt()));
			} else if (type.equals("ZOOMER")) {
				map.objects.add(new Zoomer(object.get("x").getAsInt(), object
						.get("y").getAsInt(), object.get("resetDistance").getAsInt(),
						object.get("dampingRatio").getAsInt(), object.get("maxForce")
								.getAsInt(), object.get("frequency").getAsInt()));
			}
			else if (type.equals("LINESAW")) {
				map.objects.add(new LineSaw(object.get("x").getAsInt(), object
						.get("y").getAsInt(), object.get("speed").getAsInt(),
						object.get("torque").getAsInt()));
			}
		}
		Gson gson = new Gson();
		System.out.println("conversed = \n" + gson.toJson(map));
		return map;
	}