{ // Set the layout to the frame in order to show the panels, BorderLayout used.
    setLayout(new BorderLayout());

    // program will stop running when "X" is pressed.
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    // set the title for the program.
    this.setTitle("Financial Modeller - B00540772");

    // add the two frames to the frame show that they will show in the correct areas.
    this.add(drawing, BorderLayout.NORTH);
    this.add(control, BorderLayout.SOUTH);

    // add the instructions panel into the frame.
    this.add(instructions, BorderLayout.CENTER);

    // set the size of the two panels.
    drawing.setPreferredSize(new Dimension(900, 350));
    control.setPreferredSize(new Dimension(900, 250));
    instructions.setPreferredSize(new Dimension(900, 80));

    // set the background of the DrawingPanel to highlight the two different panels.
    drawing.setBackground(Color.WHITE);

    // call the line wrap method to improve the layout of the text area.
    instructions.setLineWrap(true);

    // insert the instructions for the user.
    instructions.append(
        "Please use the control panel to enter your financial"
            + " information. When the information has been entered press 'Start'"
            + " to run the simulation. The textual output will          show each"
            + " input and output as it happens, and will give you a balance update."
            + " The graphical output will give you a representation of the changing"
            + " weekly balance,       each second represents"
            + " one week. Please be aware that if the balance goes above £16000"
            + " or the duration goes above 52 weeks the graphical output will stop,"
            + " if         this happens you can continue to use the textual output."
            + " If you do not wish to use all of the threads please leave amount AND"
            + " frequency as '0' and that thread will not    start.");

    // set visible and pack to ensure it will run correctly.
    pack();
    setVisible(true);
  }