public TileMap createExampleMap() {
		int size = Configuration.getInstance().getValueAsInt("mapSize");

		TileMap tileMap = new TileMap(size, size);
		FloorCellFactory floorCellFactory = GameFactories.getInstance().getFloorCellFactory();
		FloorCell earth = floorCellFactory.getFloorCell("earth");
		FloorCell grass = floorCellFactory.getFloorCell("grass");
		FloorCell water = floorCellFactory.getFloorCell("water");

		// add floor
		for (Position position : tileMap.area()) {
			tileMap.setFloor(position, earth);
		}

		Area area = new Area(Position.newPosition(12, 17), Position.newPosition(27, 24));

		for (Position position : area) {
			tileMap.setFloor(position, water);
		}

		area = new Area(Position.newPosition(40, 35), Position.newPosition(44, 39));
		for (Position position : area) {
			tileMap.setFloor(position, water);
		}

		area = new Area(Position.newPosition(10, 11), Position.newPosition(19, 37));
		for (Position position : area) {
			tileMap.setFloor(position, grass);
		}

		StaticElementFactory staticElementFactory = GameFactories.getInstance().getStaticElementFactory();
		// add group of rocks
		area = new Area(Position.newPosition(43, 45), Position.newPosition(48, 46));
		for (Position position : area) {
			try {
				staticElementFactory.newStaticElement("rock", tileMap, position);
			} catch (PositionException e) {
				throw new GameError("Positions should be both occupable and valid");
			}
		}

		// add little forest!
		area = new Area(Position.newPosition(33, 43), Position.newPosition(41, 45));
		for (Position position : area) {
			try {
				staticElementFactory.newStaticElement("tree", tileMap, position);
			} catch (PositionException e) {
				throw new GameError("Positions should be both occupable and valid");
			}
		}

		// add that single rock
		try {
			Position position = Position.newPosition(1, 2);
			staticElementFactory.newStaticElement("rock", tileMap, position);
		} catch (PositionException e) {
			throw new GameError("Positions should be both occupable and valid");
		}

		return tileMap;
	}