private void createBase() {
		basePanel = new JPanel();
		basePanel.setLayout(new BoxLayout(basePanel, BoxLayout.PAGE_AXIS));

		JPanel layerWrapper = new JPanel(new GridLayout(2, 1));

		//TextArea
		JTextField sellerText = new JTextField("Sie zahlen:");
		sellerText.setEditable(false);
		sellerText.setBorder(null);

		tradeSellerMoney = new JTextField("0");
		tradeSellerMoney.setEditable(false);
		tradeSellerMoney.setBorder(null);

		JTextField userText = new JTextField("Sie bekommen:");
		userText.setEditable(false);
		userText.setBorder(null);

		tradeUserMoney = new JTextField();
		tradeUserMoney.setDocument(new IntegerDocument());
		tradeUserMoney.addFocusListener(new FocusListener() {
			@Override public void focusGained(FocusEvent e) {
				SwingUtilities.invokeLater(new Runnable() {
					@Override public void run() {
						if(tradeUserMoney.isEditable() && tradeUserMoney.getText().equals("0")) {
							tradeUserMoney.setText("");
						}
					}
				});
			}

			@Override public void focusLost(FocusEvent e) {
				SwingUtilities.invokeLater(new Runnable() {
					@Override public void run() {
						if(tradeUserMoney.getText().equals("")) {
							tradeUserMoney.setText("0");
						}
					}
				});
			}
		});
		tradeUserMoney.setText("0");
		tradeUserMoney.setEditable(false);

		// place text fields in one line
		JPanel moneyTextWrapper = new JPanel(new GridLayout(1, 4));
		moneyTextWrapper.add(sellerText);
		moneyTextWrapper.add(tradeSellerMoney);
		moneyTextWrapper.add(userText);
		moneyTextWrapper.add(tradeUserMoney);

		//Buttons
		back = new JButton("Zurueck");
		back.addActionListener(new ActionListener() {
			/**
			 *     The method will send the cancellation of the trade to the server
			 * @param e The value determines the event source
			 */
			@Override public void actionPerformed(ActionEvent e) {
				if(model.getHaggleData() != null) {
					model.getHaggleData().setHaggleState(HaggleData.HaggleState.DECLINE);
					clientOperator.sendActionData(model.getHaggleData());
				}
				model.setCurrentMainPanelName(model.getPreviousMainPanelName());
			}
		});

		accept = new JButton("Anfrage");
		accept.setEnabled(false);
		accept.addActionListener(new ActionListener() {
			/**
			 * The method will set the HaggleData state to the next stage and sends the data to the server
			 * @param e The value determines the event source
			 */
			@Override public void actionPerformed(ActionEvent e) {
				HaggleData haggleData = model.getHaggleData();
				switch(haggleData.getHaggleState()) {
					// case ESTABLISH:   //Will never happen - this state will just appear on the server
					case ESTABLISHED:
						haggleData.setHaggleState(HaggleData.HaggleState.REQUEST);
						haggleData.setUserMoney(Integer.parseInt(tradeUserMoney.getText()));
						break;
					case REQUEST:
						haggleData.setHaggleState(HaggleData.HaggleState.OFFER);
						haggleData.setSellerMoney(Integer.parseInt(tradeUserMoney.getText()));
						break;
					case OFFER:
						haggleData.setHaggleState(HaggleData.HaggleState.ACCEPT);
						break;
					// case ACCEPT:    //Will never happen - this state will just appear on the server
					// case DECLINE:   //Will never happen - this state will just appear on the server
				}
				tradeUserMoney.setEditable(false);
				accept.setEnabled(false);
				clientOperator.sendActionData(model.getHaggleData());
			}
		});

		//place buttons next to each other with space
		JPanel buttonWrapper = new JPanel();
		buttonWrapper.setLayout(new BoxLayout(buttonWrapper, BoxLayout.LINE_AXIS));
		buttonWrapper.setAlignmentX(JPanel.RIGHT_ALIGNMENT);
		buttonWrapper.add(accept);
		buttonWrapper.add(Box.createHorizontalStrut(10)); //Space between buttons
		buttonWrapper.add(back);

		//place buttonWrapper at the right side
		JPanel buttonWrapperWrapper = new JPanel();
		buttonWrapperWrapper.setLayout(new BoxLayout(buttonWrapperWrapper, BoxLayout.PAGE_AXIS));
		buttonWrapperWrapper.add(buttonWrapper);

		layerWrapper.add(moneyTextWrapper);
		layerWrapper.add(buttonWrapperWrapper);

		basePanel.add(layerWrapper);
	}