private boolean parseFields() {
        boolean successful = true;

        //surrounding with try and catch in order for the app not to blow because of casting
        try {
            if (debiterCombo.getSelectedIndex() != -1) {
                e.setDebiterID(StrVal.parseIdFromString((String) debiterCombo.getSelectedItem()));
            }
            if (crediterCombo.getSelectedIndex() != -1) {
                e.setCrediterID(StrVal.parseIdFromString((String) crediterCombo.getSelectedItem()));
            }
        } catch (Exception x) {
            successful = false;
        }

        e.setName(nameF.getText());
        e.setDesc(descArea.getText());

        //surrounding with try and catch in order to validate doubles
        try {
            e.setPrice(Double.parseDouble(priceF.getText()));
        } catch (Exception x) {
            successful = false;
        }

        if (paidChk.isSelected()) {
            e.setPaid(true);
        } else {
            e.setPaid(false);
        }

        if (paidRequestChk.isSelected()) {
            e.setPaidRequest(true);
        } else {
            e.setPaidRequest(false);
        }

        return successful;
    }