public static void draw(String[] header, int[] layout, String[][] data) {
        int innerWidth = 0;
        for (int i : layout) {
            innerWidth += i;
        }

        System.out.println(" ├──┬" + multiString("─", h(header, layout).length()) + "┐");
        System.out.println(" │  │ " + h(header, layout));
        System.out.println(" ├──┼" + multiString("─", h(header, layout).length()) + "┤");

        for (String[] row : data) {
            System.out.print(" │  │ ");
            for (int i = 0; i < row.length; i++) {
                System.out.print(" " + formatToLength(row[i], layout[i]) + " |");
            }
            System.out.println("");
        }

        System.out.println(" ├──┴" + multiString("─", h(header, layout).length()) + "┘");
    }