private Map<Position, Tile> initGrid() {
		HashMap<Position, Tile> map = new HashMap<Position, Tile>();
		// first, fill all with empty
		for(int i = 0; i < this.sizeX; i++) {
			for(int j = 0; j < this.sizeY; j++) {
				map.put(new Position(i, j), new Empty(i, j));
			}
		}
		
		// central wall
		for(int i = this.centerWallXLeft; i < this.centerWallXRight; i++) {
			for(int j = 0; j < this.sizeY; j++) {
				map.put(new Position(i, j), new Wall(i, j));
			}
		}
		
		// corridors
		for(int i = this.centerWallXLeft; i < this.centerWallXRight; i++) {
			map.put(new Position(i, firstCorridorY), new Empty(i, firstCorridorY));
			map.put(new Position(i, secondCorridorY), new Empty(i, secondCorridorY));
		}
		
		// home area
		for(int i = this.homeAreaTopCorner.getY(); i <= this.homeAreaBottomCorner.getY(); i++) {
			for(int j = sizeX -1; j >= this.homeAreaBottomCorner.getX(); j--) {
				map.put(new Position(j, i), new Home(j,i));
			}
		}
		
		// store area
		for(int i = this.storeAreaTopCorner.getY(); i <= this.storeAreaBottomCorner.getY(); i++) {
			for(int j = 0; j <= this.storeAreaTopCorner.getX(); j++) {
				map.put(new Position(j, i), new Storage(j, i));
			}
		}
		
		return map;
	}