private static void formatBillSummaries() throws Exception {
        if (verbose) {
            System.out.println("Formatting bill summaries ...");
        }

        String folder = cmd.getOptionValue("folder");
        String processedFolder = cmd.getOptionValue("processed-folder");
        int congressNo = CLIUtils.getIntegerArgument(cmd, "congress", 109); // default
        String outputFolder = cmd.getOptionValue("format-folder");
        IOUtils.createFolder(outputFolder);

        GTProcessor proc = new GTProcessor(folder, congressNo);
        proc.setVerbose(verbose);

        // load bills
        File billFolder = new File(processedFolder, BILL_FOLDER);
        HashMap<String, GTBill> bills = proc.inputBills(new File(billFolder, "info.txt"));
        proc.inputBillSubjects(new File(billFolder, "subjects.txt"), bills);
        proc.inputBillTopics(new File(billFolder, "topics.txt"), bills);
        proc.inputBillSummaries(new File(billFolder, "summaries"), bills);

        // output
        BufferedWriter writer;

        if (verbose) {
            System.out.println("\nOutputing to " + outputFolder);
        }
        // output bill summaries
        File textFolder = new File(outputFolder, "texts");
        IOUtils.createFolder(textFolder);
        for (String billId : bills.keySet()) {
            GTBill bill = bills.get(billId);

            String summary = bill.getSummary();
            int firstPunct = summary.indexOf(".");

            writer = IOUtils.getBufferedWriter(new File(textFolder, billId + ".txt"));
            writer.write(bill.getOfficialTitle()
                    + " " + summary.substring(firstPunct + 1)
                    .replaceAll("\\(This measure has not been amended since "
                    + "it was introduced. The summary of that version is repeated here.\\)", "")
                    .trim()
                    + "\n");
            writer.close();
        }

        // output bill subjects
        writer = IOUtils.getBufferedWriter(new File(outputFolder, "subjects.txt"));
        for (String billId : bills.keySet()) {
            GTBill bill = bills.get(billId);
            writer.write(bill.getId());
            ArrayList<String> billSubjects = bill.getSubjects();
            for (String bs : billSubjects) {
                writer.write("\t" + bs);
            }
            writer.write("\n");
        }
        writer.close();

        // output bill major topics (from the Policy Agenda Codebook)
        writer = IOUtils.getBufferedWriter(new File(outputFolder, "topics.txt"));
        for (String billId : bills.keySet()) {
            GTBill bill = bills.get(billId);
            writer.write(bill.getId());

            String major = bill.getProperty(GTBill.MAJOR_TOPIC);
            if (major != null && !major.equals("null") && !major.equals("99")) {
                writer.write("\t" + bill.getProperty(GTBill.MAJOR_TOPIC));
            }
            writer.write("\n");
        }
        writer.close();
    }