diff --git a/Release1/config-service-primitive-model-enhancement.md b/Release1/config-service-primitive-model-enhancement.md
new file mode 100644
index 0000000..6f41a6a
--- /dev/null
+++ b/Release1/config-service-primitive-model-enhancement.md
@@ -0,0 +1,22 @@
+# Enhancements to the service/config primitive data model #
+
+## Proposer ##
+Rajesh Velandy (RIFT.io)
+
+## Type ##
+**Feature** (do not modify)
+
+## Target MDG/TF ##
+SO, UI
+
+## Description ##
+The following model enhancements are requested as part of this feature request,
+
+1. Update the VNFD config primitive model to follow  similar structure as NSD model
+   config primitive in VNFD  is emedded in mgmt-interface container unlike the NSD service primitive
+   model
+2. Rename "config-primitive" at NSD as "service-primitive".
+
+
+## Demo or definition of done ##
+Reference demo that leverages this, or alternatively, definition of done.
\ No newline at end of file
diff --git a/Release1/error-message-ro-vca.md b/Release1/error-message-ro-vca.md
new file mode 100644
index 0000000..b4f5b43
--- /dev/null
+++ b/Release1/error-message-ro-vca.md
@@ -0,0 +1,22 @@
+# Support displaying error messages from RO/VCA #
+
+## Proposer ##
+Rajesh Velandy (RIFT.io)
+
+## Type ##
+**Feature** (do not modify)
+
+## Target MDG/TF ##
+UI, SO, RO,  VCA
+
+## Description ##
+When there are errors during SO->RO or  SO->VCA interactions, the SO shall capture that error and 
+expose the error through the notrthbound managemenent interface.
+When an operation  instantiation/configuration result in an error, the UI shall display the error 
+message returned by SO.
+
+
+## Demo or definition of done ##
+Should demonstrate the following:
+1.Create an NS that results in an error in  RO and demonstrate that the errors are shown in the UI.
+2.Create an NS that has a bad charm and  demostrate that the UI  shows the error message from VCA.
\ No newline at end of file
diff --git a/Release1/juju-job-id-correlation.md b/Release1/juju-job-id-correlation.md
new file mode 100644
index 0000000..338f8de
--- /dev/null
+++ b/Release1/juju-job-id-correlation.md
@@ -0,0 +1,18 @@
+# Support config agent(Juju) job Id in Config/Service Primitive status #
+
+## Proposer ##
+Rajesh Velandy (RIFT.io)
+
+## Type ##
+**Feature** (do not modify)
+
+## Target MDG/TF ##
+SO, UI
+
+## Description ##
+The config/service primitive execution does not show the config agent(juju) job id  in the job execution status.
+This feature will add the config agent(juju) job id in the job list and display in the  expanded job list view in the UI. 
+
+
+## Demo or definition of done ##
+Reference demo that leverages this, or alternatively, definition of done.
\ No newline at end of file
diff --git a/Release1/support-vim-account.md b/Release1/support-vim-account.md
new file mode 100644
index 0000000..e1c6d5f
--- /dev/null
+++ b/Release1/support-vim-account.md
@@ -0,0 +1,31 @@
+# Support for VIM account and RO account #
+
+## Proposer ##
+Rajesh Velandy (RIFT.io)
+
+## Type ##
+**Feature** (do not modify)
+
+## Target MDG/TF ##
+UI, SO, RO
+
+## Description ##
+Release 0 account management  has some flaws in how it  treats RO and  VCA  accounts,
+* The RO account is added as a cloud account which is incorrect - RO account is a different account
+  than "cloud" which is  more a  "VIM" account.
+* The use of term "cloud account" can be confusing.
+* The VCA account is limited to a single account per launchpad.
+
+The feature proposes the following changes,
+1. Add support for a new account type -  RO accounts.
+2. Change the  term "cloud account" to "vim account" in the UI.
+3. Change the  VCA account to a single account per launchpad.
+
+## Demo or definition of done ##
+Should demonstrate the following:
+1. A user should be able to configure openMANO as an  RO account in launchapd.
+2. A user should be able to configure one or more  VIM accounts in launchpad.
+2. When a VIM account is provisioned in the system, the UI/SO should pass the account details to
+   the RO.
+3. The VCA account should be limited to a single account per launchpad.
+
diff --git a/Release1/ui-feature-composer-yaml-display.md b/Release1/ui-feature-composer-yaml-display.md
new file mode 100644
index 0000000..a88238e
--- /dev/null
+++ b/Release1/ui-feature-composer-yaml-display.md
@@ -0,0 +1,28 @@
+# Support YAML display of descriptor in Composer #
+
+## Proposer ##
+Kiran Kashalkar (RIFT.io)
+
+## Type ##
+**Feature** (do not modify)
+
+## Target MDG/TF ##
+UI
+
+## Description ##
+Currently the Composer has an option of showing the JSON representation of a
+descriptor that's being created/edited.
+Now that we support YAML format for descriptors, the JSON viewer will be
+converted to a YAML viewer as YAML is more human-friendly.
+This will be offered as a purely front-end feature with no support from the SO.
+
+
+## Demo or definition of done ##
+Demonstrate the following:
+1. A user should be able to view the YAML format of a descriptor that was
+ onboarded using the Catalog Manager.
+2. A user should be able to view the YAML format of a descriptor that he/she has
+ created using the Composer.
+3. A user should be able to view the YAML format of a descriptor that he/she is
+ editing, irrespective of whether the original descriptor was onboarded using
+ the catalog manager or created using the Composer.
\ No newline at end of file
diff --git a/Release1/ui-feature-ns-vnf-differentiation.md b/Release1/ui-feature-ns-vnf-differentiation.md
new file mode 100644
index 0000000..4dc3c04
--- /dev/null
+++ b/Release1/ui-feature-ns-vnf-differentiation.md
@@ -0,0 +1,22 @@
+# Enhance Visual Differentiation Between NS Catalog and VNF Catalog  #
+
+## Proposer ##
+Kiran Kashalkar (RIFT.io)
+
+## Type ##
+**Requirement** (do not modify)
+
+## Target MDG/TF ##
+UI
+
+## Description ##
+Provide better context for which catalog is being viewed with following changes:
+1. Different default icon for NSD vs. VNFD
+2. Different background color for NSD vs. VNFD
+
+
+## Demo or definition of done ##
+The Catalog Manager should show different icons for NSD and VNFD items which 
+don't have an icon supplied by the descriptor creator.
+The Catalog Manager should show clear visual differentiation for NSD and VNFD 
+items in the left panel.
\ No newline at end of file
diff --git a/Release1/ui-feature-service-primitive-layout-restructure.md b/Release1/ui-feature-service-primitive-layout-restructure.md
new file mode 100644
index 0000000..30e4d5e
--- /dev/null
+++ b/Release1/ui-feature-service-primitive-layout-restructure.md
@@ -0,0 +1,28 @@
+# Restructure Service Primitive Jobs Layout  #
+
+## Proposer ##
+Kiran Kashalkar (RIFT.io)
+
+## Type ##
+**Feature** (do not modify)
+
+## Target MDG/TF ##
+UI, SO
+
+## Description ##
+Currently the service primitive job details have no order, so one cannot tell
+what order the jobs were executed in.
+With the help of the SO to provide a timestamp (seconds since epoch) on each job indicating the
+submission time, the UI should order the jobs with latest on top.
+The service primitive jobs also don't have the parameters passed along with the
+job, so context is lost.
+Again, with the help of the SO module, the UI should show the parameters that
+were used when triggering a job.
+
+
+## Demo or definition of done ##
+Should demonstrate the following:
+1. When multiple jobs are fired, they should be displayed in reverse order of
+ trigger time. i.e. latest on top.
+2. Each job should display the parameters it was triggered with in addition to
+ current information.
\ No newline at end of file
diff --git a/Release1/ui-feature-unit-tests.md b/Release1/ui-feature-unit-tests.md
new file mode 100644
index 0000000..48b1267
--- /dev/null
+++ b/Release1/ui-feature-unit-tests.md
@@ -0,0 +1,20 @@
+# Add Unit Tests for UI modules #
+
+## Proposer ##
+Kiran Kashalkar (RIFT.io)
+
+## Type ##
+**Requirement** (do not modify)
+
+## Target MDG/TF ##
+UI
+
+## Description ##
+A unit test framework (intern.js), unit tests and a test-runner (intern.js) with coverage analysis 
+should be added for following components of the UI:
+1. Plugin Discovery Module
+2. Message Emmitter Module
+
+## Demo or definition of done ##
+Should display results from the test-runner.
+Overall line coverage target should be 80%+.
\ No newline at end of file
