diff --git a/openecomp-ui/resources/scss/components/_sequenceDiagram.scss b/openecomp-ui/resources/scss/components/_sequenceDiagram.scss
index 5fad92a..d89c342 100644
--- a/openecomp-ui/resources/scss/components/_sequenceDiagram.scss
+++ b/openecomp-ui/resources/scss/components/_sequenceDiagram.scss
@@ -1,11 +1,18 @@
 .sequence-diagram {
-  @extend .flex-column;
   .sequence-diagram-sequencer {
-    flex: 0 1 auto;
-    margin-bottom: 30px;
+	.asdcs-diagram {
+	  overflow: auto;
+	  max-height: 60vh;
+	}
+	.asdcs-editor {
+	  height: 60vh;
+	}
   }
   .sequence-diagram-action-buttons {
-    flex: 0.1;
-    text-align: center;
+	margin-left: 20px;
+	margin-top: 20px;
+	button:first-of-type {
+	  margin-right: 20px;
+	}
   }
 }
diff --git a/openecomp-ui/resources/scss/modules/_workflows.scss b/openecomp-ui/resources/scss/modules/_workflows.scss
index c1555df..894b6e7 100644
--- a/openecomp-ui/resources/scss/modules/_workflows.scss
+++ b/openecomp-ui/resources/scss/modules/_workflows.scss
@@ -25,19 +25,3 @@
     padding: 15px;
   }
 }
-
-.sequence-diagram {
-  position: absolute;
-  bottom: 0;
-  right: 0;
-  left: 0;
-  top: 0;
-
-  padding-bottom: 20px;
-  .sequence-diagram-action-buttons {
-    display: flex;
-    button {
-      margin: 20px;
-    }
-  }
-}
diff --git a/openecomp-ui/src/nfvo-components/input/validation/Form.jsx b/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
index 47922f86..98810d1 100644
--- a/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
+++ b/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
@@ -110,5 +110,19 @@
 
 }
 
+export class TabsForm extends Form {
+	render() {
+		// eslint-disable-next-line no-unused-vars
+		let {isValid, formReady, onValidateForm, isReadOnlyMode, hasButtons, onSubmit, labledButtons, onValidChange, onValidityChanged, onDataChanged, children, ...formProps} = this.props;
+		return (
+			<form {...formProps} ref={(form) => this.form = form} onSubmit={event => this.handleFormValidation(event)}>
+				<div className='validation-form-content'>
+						{children}
+				</div>
+				{hasButtons && <ValidationButtons labledButtons={labledButtons} ref={(buttons) => this.buttons = buttons} isReadOnlyMode={isReadOnlyMode}/>}
+			</form>
+		);
+	}
+}
 
 export default Form;
diff --git a/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js
index 4945d33..74bde40 100644
--- a/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js
@@ -155,10 +155,12 @@
 				licenseModelId = response[0].vendorId;
 			}
 
+			const newVersion = response[0].version ? response[0].version : version;
+
 			SoftwareProductActionHelper.loadSoftwareProductDetailsData(dispatch, {licenseModelId, licensingVersion});
-			SoftwareProductComponentsActionHelper.fetchSoftwareProductComponents(dispatch, {softwareProductId, version});
-			SoftwareProductActionHelper.loadSoftwareProductHeatCandidate(dispatch, {softwareProductId, version});
-			setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE, {softwareProductId, licenseModelId, version});
+			SoftwareProductComponentsActionHelper.fetchSoftwareProductComponents(dispatch, {softwareProductId, version: newVersion});
+			SoftwareProductActionHelper.loadSoftwareProductHeatCandidate(dispatch, {softwareProductId, version: newVersion});
+			setCurrentScreen(dispatch, enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE, {softwareProductId, licenseModelId, version: newVersion});
 		});
 	},
 
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx
index 5ae22cb..d695484 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupEditorView.jsx
@@ -18,7 +18,7 @@
 import Tab from 'react-bootstrap/lib/Tab.js';
 import GridSection from 'nfvo-components/grid/GridSection.jsx';
 import GridItem from 'nfvo-components/grid/GridItem.jsx';
-import Form from 'nfvo-components/input/validation/Form.jsx';
+import {TabsForm as Form} from 'nfvo-components/input/validation/Form.jsx';
 import DualListboxView from 'nfvo-components/input/dualListbox/DualListboxView.jsx';
 import Input from 'nfvo-components/input/validation/Input.jsx';
 import i18n from 'nfvo-utils/i18n/i18n.js';
@@ -169,17 +169,23 @@
 				className='feature-group-form'>
 				<Tabs activeKey={onTabSelect ? selectedTab : undefined} onSelect={onTabSelect} invalidTabs={invalidTabs} id='vlmFGValTabs' >
 					<Tab eventKey={FeatureGroupStateConstants.SELECTED_FEATURE_GROUP_TAB.GENERAL} title={i18n('General')}  >
-						<GeneralTab data={data} onDataChanged={onDataChanged} genericFieldInfo={genericFieldInfo}  validateName={(value)=> this.validateName(value)}/>
+						<fieldset disabled={isReadOnlyMode}>
+							<GeneralTab data={data} onDataChanged={onDataChanged} genericFieldInfo={genericFieldInfo}  validateName={(value)=> this.validateName(value)}/>
+						</fieldset>
 					</Tab>
 					<Tab
 						eventKey={FeatureGroupStateConstants.SELECTED_FEATURE_GROUP_TAB.ENTITLEMENT_POOLS}
 						title={i18n('Entitlement Pools')} >
-						<EntitlementPoolsTab isReadOnlyMode={isReadOnlyMode} data={data} onDataChanged={onDataChanged} entitlementPoolsList={entitlementPoolsList} />
+						<fieldset disabled={isReadOnlyMode}>
+							<EntitlementPoolsTab isReadOnlyMode={isReadOnlyMode} data={data} onDataChanged={onDataChanged} entitlementPoolsList={entitlementPoolsList} />
+						</fieldset>
 					</Tab>
 					<Tab
 						eventKey={FeatureGroupStateConstants.SELECTED_FEATURE_GROUP_TAB.LICENSE_KEY_GROUPS}
 						title={i18n('License Key Groups')} >
-						<LKGTab isReadOnlyMode={isReadOnlyMode} data={data} onDataChanged={onDataChanged} licenseKeyGroupsList={licenseKeyGroupsList} />
+						<fieldset disabled={isReadOnlyMode}>
+							<LKGTab isReadOnlyMode={isReadOnlyMode} data={data} onDataChanged={onDataChanged} licenseKeyGroupsList={licenseKeyGroupsList} />
+						</fieldset>
 					</Tab>
 				</Tabs>
 
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
index 67a3333..42a33fd 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
@@ -17,7 +17,7 @@
 
 import GridSection from 'nfvo-components/grid/GridSection.jsx';
 import GridItem from 'nfvo-components/grid/GridItem.jsx';
-import Form from 'nfvo-components/input/validation/Form.jsx';
+import {TabsForm as Form} from 'nfvo-components/input/validation/Form.jsx';
 import Tabs from 'nfvo-components/input/validation/Tabs.jsx';
 import Tab from 'react-bootstrap/lib/Tab.js';
 import Input from 'nfvo-components/input/validation/Input.jsx';
@@ -151,21 +151,25 @@
 							eventKey={LicenseAgreementEnums.SELECTED_LICENSE_AGREEMENT_TAB.GENERAL}
 							data-test-id='general-tab'
 							title={i18n('General')}>
-								<GeneralTabContent data={data} genericFieldInfo={genericFieldInfo} onDataChanged={onDataChanged} validateLTChoice={(value)=>this.validateLTChoice(value)}
-									validateName={(value)=>this.validateName(value)}/>
+								<fieldset disabled={isReadOnlyMode}>
+									<GeneralTabContent data={data} genericFieldInfo={genericFieldInfo} onDataChanged={onDataChanged} validateLTChoice={(value)=>this.validateLTChoice(value)}
+										   validateName={(value)=>this.validateName(value)}/>
+								</fieldset>
 						</Tab>
 						<Tab
 							eventKey={LicenseAgreementEnums.SELECTED_LICENSE_AGREEMENT_TAB.FEATURE_GROUPS}
 							data-test-id='feature-group-tab'
 							title={i18n('Feature Groups')}>
+								<fieldset disabled={isReadOnlyMode}>
 							{featureGroupsList.length > 0 ?
-								<DualListboxView
-									isReadOnlyMode={isReadOnlyMode}
-									filterTitle={dualBoxFilterTitle}
-									selectedValuesList={data.featureGroupsIds}
-									availableList={featureGroupsList}
-									onChange={ selectedValuesList => onDataChanged( { featureGroupsIds: selectedValuesList }, LA_EDITOR_FORM )}/> :
-								<p>{i18n('There is no available feature groups')}</p>}
+									<DualListboxView
+										isReadOnlyMode={isReadOnlyMode}
+										filterTitle={dualBoxFilterTitle}
+										selectedValuesList={data.featureGroupsIds}
+										availableList={featureGroupsList}
+										onChange={ selectedValuesList => onDataChanged( { featureGroupsIds: selectedValuesList }, LA_EDITOR_FORM )}/> :
+									<p>{i18n('There is no available feature groups')}</p>}
+								</fieldset>
 						</Tab>
 					</Tabs>
 				</Form>}
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachments.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachments.js
index 8f2506a..945de4f 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachments.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachments.js
@@ -77,8 +77,8 @@
 			}
 		}),
 		onSave: (heatCandidate, version) => SoftwareProductActionHelper.updateSoftwareProductHeatCandidate(dispatch, {softwareProductId, heatCandidate, version}),
-		onGoToOverview: () => {
-			OnboardingActionHelper.navigateToSoftwareProductLandingPage(dispatch, {softwareProductId});
+		onGoToOverview: ({version}) => {
+			OnboardingActionHelper.navigateToSoftwareProductLandingPage(dispatch, {softwareProductId, version});
 		},
 		onProcessAndValidate: ({heatData, heatDataCache, isReadOnlyMode, version}) => {
 			return HeatSetupActionHelper.processAndValidateHeat(dispatch,
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachmentsView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachmentsView.jsx
index 66fb2f8..ef4aecf 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachmentsView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachmentsView.jsx
@@ -50,7 +50,7 @@
 							iconClassName={this.props.goToOverview ? '' : 'disabled'}
 							className={`go-to-overview-icon ${this.props.goToOverview ? '' : 'disabled'}`}
 							labelClassName='go-to-overview-label'
-							onClick={this.props.goToOverview ? onGoToOverview : undefined}
+							onClick={this.props.goToOverview ? () => onGoToOverview({version}) : undefined}
 							image='go-to-overview'
 							label={i18n('Go to Overview')}
 							data-test-id='go-to-overview'/>}
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentEditorReducer.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentEditorReducer.js
index 2ae9ad0..41e7556 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentEditorReducer.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentEditorReducer.js
@@ -20,6 +20,7 @@
 		case actionTypes.COMPONENT_LOAD:
 			return {
 				...state,
+				data: action.component,
 				formReady: null,
 				formName: forms.ALL_SPC_FORMS,
 				genericFieldInfo: {
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsActionHelper.js
index 9b3c9ea..4e526d3 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsActionHelper.js
@@ -16,7 +16,7 @@
 import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js';
 import Configuration from 'sdc-app/config/Configuration.js';
 
-import {actionTypes, COMPONENTS_QUESTIONNAIRE, forms} from './SoftwareProductComponentsConstants.js';
+import {actionTypes, COMPONENTS_QUESTIONNAIRE} from './SoftwareProductComponentsConstants.js';
 import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js';
 
 function baseUrl(softwareProductId, version) {
@@ -89,12 +89,12 @@
 	},
 
 	fetchSoftwareProductComponent(dispatch, {softwareProductId, version, vspComponentId}) {
-		dispatch({
-			type: actionTypes.COMPONENT_LOAD
-		});
 		return Promise.all([
 			fetchSoftwareProductComponent(softwareProductId, version, vspComponentId).then(response => {
-				ValidationHelper.dataChanged(dispatch,{deltaData: response.data, formName: forms.ALL_SPC_FORMS});
+				dispatch({
+					type: actionTypes.COMPONENT_LOAD,
+					component: response.data
+				});
 				return response;
 			}),
 			fetchSoftwareProductComponentQuestionnaire(softwareProductId, version, vspComponentId).then(response => {
diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/dependencies/SoftwareProductDependencies.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/dependencies/SoftwareProductDependencies.js
index 9540d3f..05a1fc7 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/dependencies/SoftwareProductDependencies.js
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/dependencies/SoftwareProductDependencies.js
@@ -25,7 +25,7 @@
 	return {
 		isReadOnlyMode,
 		softwareProductDependencies: softwareProductDependencies.length ? softwareProductDependencies : [{sourceId: '', targetId: '', relationType: 'dependsOn', id: 'fake'}],
-		componentsOptions: componentsList.map(component => ({value: component.id, label: component.name}))
+		componentsOptions: componentsList.map(component => ({value: component.id, label: component.displayName}))
 	};
 };
 
