private String handleCreate(String cmd) {
        String[] arg = cmd.split("\\s+");
        if (arg.length == 1) {
            return " usage: new [param | dim | array]\n";
        }
        if (arg[1].startsWith("p")) {               // create param
            if (arg.length < 3) {
                return " usage: new param <name>...\n";
            }
            for (int i = 2; i < arg.length; i++) {
                p.put(arg[i], "");
            }
        } else if (arg[1].startsWith("d")) {        // create dim
            if (arg.length != 3) {
                return " usage: new dim <name>\n";
            }
            String name = arg[2];
            p.put(name, "");
            p.getInfo(name).put("role", "dimension");
        } else if (arg[1].startsWith("a")) {        // create array
            if (arg.length < 4) {
                return " usage: new array <name> <dim>\n";
            }
            String name = arg[2];
            p.put(name, "");
            p.getInfo(name).put("bound", arg[3]);
        } else {
            return " usage: new [param | dim | array]\n";
        }
        ((AbstractTableModel) table.getModel()).fireTableDataChanged();
        sp.repaint();
        return "";
    }