diff --git a/neologism.install b/neologism.install
index ca77f91..69028ca 100644
--- a/neologism.install
+++ b/neologism.install
@@ -54,16 +54,16 @@ function neologism_install() {
       'title_label' => 'Vocabulary ID',
     ),
     array(
-      'type' => 'project',
-      'name' => $t('Project'),
+      'type' => 'workspace',
+      'name' => $t('Vocabulary Workspace'),
       'base' => 'node_content',
-      'description' => $t('Create an RDF Project consisting of multiple vocabularies and a main vocabulary.'),
-      'help' => 'Create an RDF Project consisting of multiple vocabularies and a main vocabulary.',
+      'description' => $t('Create an RDF Vocabulary Workspace consisting of multiple vocabularies and a main vocabulary.'),
+      'help' => 'Create an RDF Vocabulary Workspace consisting of multiple vocabularies and a main vocabulary.',
       'custom' => 0,
       'modified' => 1,
       'locked' => 0,
       'has_title' => 1,
-      'title_label' => 'Project Name',
+      'title_label' => 'Vocabulary Workspace Name',
     ),
   );
 
@@ -106,7 +106,7 @@ function neologism_install() {
   // promote to front page disabled by default
   variable_set('node_options_property', array('status'));
   // promote to front page disabled by default
-  variable_set('node_options_project', array('status'));
+  variable_set('node_options_workspace', array('status'));
 
   // (0 - comments default open) (1 - comments default closed) (2 - hidden)
   variable_set('comment_vocabulary', '1');
@@ -115,7 +115,7 @@ function neologism_install() {
   // (0 - comments default open) (1 - comments default closed) (2 - hidden)
   variable_set('comment_property', '1');
   // (0 - comments default open) (1 - comments default closed) (2 - hidden)
-  variable_set('comment_project', '1');
+  variable_set('comment_workspace', '1');
 
   // preview before submitting optional
   variable_set('node_preview_vocabulary', 1);
@@ -124,7 +124,7 @@ function neologism_install() {
   // preview before submitting optional
   variable_set('node_preview_property', 1);
   // preview before submitting optional
-  variable_set('node_preview_project', 1);
+  variable_set('node_preview_workspace', 1);
 }
 
 /**
@@ -270,11 +270,11 @@ function _neologism_installed_fields() {
       'cardinality' => FIELD_CARDINALITY_UNLIMITED,
       'default_formatter' => 'node_reference_default',
     ),
-    'vocabulary_project' => array(
-      'field_name' => 'vocabulary_project',
+    'vocabulary_workspace' => array(
+      'field_name' => 'vocabulary_workspace',
       'type' => 'node_reference',
       'settings' => array(
-        'referenceable_types' => array('project',
+        'referenceable_types' => array('workspace',
         ),
       ),
       'cardinality' => 1,
@@ -312,8 +312,8 @@ function _neologism_installed_fields() {
       'type' => 'text_long',
       'cardinality' => 1,
     ),
-    'project_main_vocabulary' => array(
-      'field_name' => 'project_main_vocabulary',
+    'workspace_main_vocabulary' => array(
+      'field_name' => 'workspace_main_vocabulary',
       'type' => 'node_reference',
       'settings' => array(
         'referenceable_types' => array('vocabulary',
@@ -322,8 +322,8 @@ function _neologism_installed_fields() {
       'cardinality' => 1,
       'default_formatter' => 'node_reference_default',
     ),
-    'project_authors' => array(
-      'field_name' => 'project_authors',
+    'workspace_authors' => array(
+      'field_name' => 'workspace_authors',
       'type' => 'user_reference',
       'settings' => array(
         'referenceable_roles' => array('2' => '2', '3' => '3'),
@@ -333,8 +333,8 @@ function _neologism_installed_fields() {
       'default_formatter' => 'user_reference_default',
       'cardinality' => FIELD_CARDINALITY_UNLIMITED,
     ),
-    'project_layout' => array(
-      'field_name' => 'project_layout',
+    'workspace_layout' => array(
+      'field_name' => 'workspace_layout',
       'type' => 'text_long',
       'cardinality' => 1,
     ),
@@ -723,12 +723,12 @@ function _neologism_installed_instances() {
         ),
       ),
     ),
-    'vocabulary_project' => array(
-      'field_name' => 'vocabulary_project',
-      'label' => $t(' Project'),
+    'vocabulary_workspace' => array(
+      'field_name' => 'vocabulary_workspace',
+      'label' => $t('Vocabulary Workspace'),
       'bundle' => 'vocabulary',
       'entity_type' => 'node',
-      'description' => 'Project with which this vocabulary is related.',
+      'description' => 'Workspace with which this vocabulary is related.',
       'widget' => array(
         // options_select , node_reference_select
         'type' => 'node_reference_autocomplete',
@@ -862,12 +862,12 @@ function _neologism_installed_instances() {
         ),
       ),
     ),
-    'project_main_vocabulary' => array(
-      'field_name' => 'project_main_vocabulary',
+    'workspace_main_vocabulary' => array(
+      'field_name' => 'workspace_main_vocabulary',
       'label' => $t(' Main Vocabulary'),
-      'bundle' => 'project',
+      'bundle' => 'workspace',
       'entity_type' => 'node',
-      'description' => 'The main vocabulary of the Project.',
+      'description' => 'The main vocabulary of the workspace.',
       'widget' => array(
         // options_select , node_reference_select
         'type' => 'node_reference_autocomplete',
@@ -885,12 +885,12 @@ function _neologism_installed_instances() {
         ),
       ),
     ),
-    'project_authors' => array(
-      'field_name' => 'project_authors',
+    'workspace_authors' => array(
+      'field_name' => 'workspace_authors',
       'label' => $t(' Authors'),
-      'bundle' => 'project',
+      'bundle' => 'workspace',
       'entity_type' => 'node',
-      'description' => 'Users working in the Project.',
+      'description' => 'Users working in the workspace.',
       'required' => 0,
       'widget' => array(
         'weight' => -2,
@@ -914,10 +914,10 @@ function _neologism_installed_instances() {
         ),
       ),
     ),
-    'project_layout' => array(
-      'field_name' => 'project_layout',
-      'label' => $t('Project Layout'),
-      'bundle' => 'project',
+    'workspace_layout' => array(
+      'field_name' => 'workspace_layout',
+      'label' => $t('Workspace Layout'),
+      'bundle' => 'workspace',
       'entity_type' => 'node',
       'description' => $t('The XML layout information stored by the diagram widget.'),
       'required' => FALSE,
@@ -980,9 +980,9 @@ function neologism_uninstall() {
   node_delete_multiple($nids);
 
 
-  // Deleting all project content
+  // Deleting all workspace content
   $sql    = 'SELECT nid FROM {node} n WHERE n.type = :type';
-  $result = db_query($sql, array(':type' => 'project'));
+  $result = db_query($sql, array(':type' => 'workspace'));
   $nids   = array();
   foreach ($result as $row) {
     $nids[] = $row->nid;
@@ -1014,7 +1014,7 @@ function neologism_uninstall() {
   foreach ($instances as $instance_name => $instance) {
     field_delete_instance($instance);
   }
-  $instances = field_info_instances('node', 'project');
+  $instances = field_info_instances('node', 'workspace');
   foreach ($instances as $instance_name => $instance) {
     field_delete_instance($instance);
   }
@@ -1025,16 +1025,16 @@ function neologism_uninstall() {
   node_type_delete('property');
   node_type_delete('class');
   node_type_delete('vocabulary');
-  node_type_delete('project');
+  node_type_delete('workspace');
 
 
   // Purge all field infromation
   // http://api.drupal.org/api/function/field_purge_batch/7
   field_purge_batch(1000);
 
-  // Delete menu entries for project
-  db_delete('menu_links')->condition('link_path', 'node/add/project')->execute();
-  db_delete('menu_router')->condition('path', 'node/add/project')->execute();
+  // Delete menu entries for workspace
+  db_delete('menu_links')->condition('link_path', 'node/add/workspace')->execute();
+  db_delete('menu_router')->condition('path', 'node/add/workspace')->execute();
 
   // Delete menu entries for vocabulary
   db_delete('menu_links')->condition('link_path', 'node/add/vocabulary')->execute();
diff --git a/neologism.js b/neologism.js
index a8504b0..e154083 100755
--- a/neologism.js
+++ b/neologism.js
@@ -1,8 +1,7 @@
 
 jQuery.noConflict();
-  
-  jQuery(document).ready( function() {
 
+  jQuery(document).ready( function() {    
 
     // dynamically change the value of default namespace URI option in vocabulary form as the vocabulary id changes
     jQuery('#edit-title').bind('keyup', function() {
@@ -13,7 +12,17 @@ jQuery.noConflict();
         }
       }
     );
-  
+
+    // dynamically change the value of default namespace URI option in vocabulary form as the vocabulary id changes
+    jQuery('#edit-vocabulary-title-und-0-value').bind('keyup', function() {
+        if(jQuery("#edit-vocabulary-title-und-0-value").val() != '') {
+          jQuery("#neologism-default-ns").html(jQuery("#edit-vocabulary-title-und-0-value").val());
+        }else {
+          jQuery("#neologism-default-ns").html('vocabulary-id');
+        }
+      }
+    );
+
 
     // when custom option is selected in namespace URI, create textbox if not present else set visibility to show in vocabulary form
     jQuery('#edit-vocabulary-namespace-uri-und-1').change(function() {
@@ -23,8 +32,8 @@ jQuery.noConflict();
           }else{
             document.getElementById('form-item form-type-radio form-item-vocabulary-namespace-uri-und custom-textbox').style.display="";
           }
-        }          
-    );  
+        }
+    );
 
 
   // when default option is selected in namespace URI, hide textbox in vocabulary form
@@ -56,12 +65,12 @@ jQuery.noConflict();
         if(jQuery('#form-item-class-vocabulary-related-textbox').val() != ''){ 
           jQuery('#class-related-vocabulary-id-value').html(jQuery('#edit-class-related-vocabulary-und-0-nid').val().split(' ')[0] ) ;
         }else {
-          jQuery('#class-related-vocabulary-id-value').html("vocabulary-id") ;
+          jQuery('#class-related-vocabulary-id-value').html("vocabulary-id");
         }
       }
     );
-    
-    
+
+
 // for property form : dynamically change the value of the prefix of the property title as per vocabulary id
     jQuery('#edit-property-related-vocabulary-und-0-nid').bind('keyup', function() {
         if(jQuery('#form-item-property-vocabulary-related-textbox').val() != ''){ 
@@ -80,4 +89,9 @@ jQuery.noConflict();
       }
     );
 
+
+  jQuery('#edit-workspace-layout').css("display","none");
+  jQuery('#edit-workspace-main-vocabulary').css("display","none");
+
+
   } );
\ No newline at end of file
diff --git a/neologism.module b/neologism.module
index 14b1765..848736f 100644
--- a/neologism.module
+++ b/neologism.module
@@ -20,16 +20,33 @@ function neologism_menu() {
   $items = array();
 
   $items["neologism"] = array(
-    'title' => 'Vocabularies',
-    'description' => "Show a list of vocabularies.",
+    'title' => 'Vocabulary Workspaces',
+    'description' => "Show a list of Vocabulary Workspaces.",
     'page callback' => 'neologism_view_index',
     'access arguments' => array('access content'),
   );
+
   return $items;
 }
 
 /**
- * Output a list of all the vocabularies present on the site.
+ * Implementation of hook_menu_link_alter().
+ *
+ * This would remove add class, add vocabulary and add property links from add content navigation menu.
+ */
+function neologism_menu_link_alter(&$item, $menu) {
+  // Hide the Class and Property content types from the Create Content menu
+  switch ($item['link_path']) {
+    case 'node/add/vocabulary':
+    case 'node/add/class':
+    case 'node/add/property':
+      $item['hidden'] = 1;
+      break;
+  }
+}
+
+/**
+ * Output a list of all the vocabulary workspaces present on the site.
  *
  *
  * Custom callback that builds our content and returns it to the browser.
@@ -43,7 +60,7 @@ function neologism_view_index() {
   $sql    = 'SELECT nid FROM {node} n WHERE n.type = :type AND n.status = :status ORDER BY n.sticky DESC, n.created DESC';
   $result = db_query($sql,
     array(
-      ':type' => 'vocabulary',
+      ':type' => 'workspace',
       ':status' => 1,
     )
   );
@@ -59,32 +76,102 @@ function neologism_view_index() {
 
 
 
-// Project .................
+
+// Vocabulary Workspace .................
 
 /**
- * function hook_form_FORM_ID_alter(&$form, &$form_state, $form_id) for Project entity
+ * function hook_form_FORM_ID_alter(&$form, &$form_state, $form_id) for Vocabulary Workspace entity
  */
-function neologism_form_project_node_form_alter(&$form, &$form_state, $form_id) {
+function neologism_form_workspace_node_form_alter(&$form, &$form_state, $form_id) {
 
+  global $user;
 
-  $form['title']['#description'] = 'Name of the Project.';
+  $form['title']['#description'] = 'Name of the Vocabulary Workspace.';
   $form['#validate'] = array();
-  $form['#validate'][] = '_neologism_form_project_node_form_validate_alter';
+  $form['#validate'][] = '_neologism_form_workspace_node_form_validate_alter';
+  $form['workspace_authors']['und']['0']['uid']['#default_value'] = $user->uid;
+
+  // TODO: Remove error :
+  // Error message
+  // Notice: Undefined property: stdClass::$language in node_form() (line 303 of /Applications/MAMP/htdocs/gsoc/modules/node/node.pages.inc).
+
+  $voc_node->type = 'vocabulary';
+  $voc_node->language = LANGUAGE_NONE;
+  module_load_include('inc', 'node', 'node.pages');
+  $output = drupal_get_form('vocabulary_node_form', $voc_node);
+
+  // vocabulary Id text-field
+  $form['vocabulary_title'] = $output['vocabulary_title'];
+  $form['vocabulary_title']['und']['0']['value']['#title'] = 'Main Vocabulary ID';
+  $form['vocabulary_title']['und']['0']['value']['#description'] = 'Will be used as the namespace prefix. Only lowercase letters, numbers, dashes. Max 10 characters.';
+
+  $form['vocabulary-namespace-uri'] = $output['vocabulary_namespace_uri'];
+  $form['vocabulary_abstract'] = $output['vocabulary_abstract'];
+  $form['vocabulary-body'] = $output['vocabulary_body'];
+  $form['vocabulary-additional-rdf'] = $output['vocabulary_additional_rdf'];
 }
 
 /**
- * Custom project form validation handler 'without' supressing the original handler
+ * Custom workspace form validation handler 'without' supressing the original handler
  */
-function _neologism_form_project_node_form_validate_alter(&$form, &$form_state) {
+function _neologism_form_workspace_node_form_validate_alter(&$form, &$form_state) {
+
   // vocabulary id
-  $title = $form_state['values']['title'];
+  $vocabulary_id = $form_state['input']['vocabulary_title']['und'][0]['value'];
 
-  //Creating URL Alias
-  $form_state['values']['path']['alias'] = $title;
+  //Creating URL Alias for the workspace
+  $form_state['values']['path']['alias'] = ($form_state['values']['vocabulary_namespace_uri']['und'][0]['value'] == 0 ? $vocabulary_id : substr(($form_state['input']['form-item_form-type-radio_form-item-vocabulary-namespace-uri-und_custom-textbox']), 0, -1));
+
+  $form_state['values']['vocabulary_namespace_uri']['und'][0]['value'] = ($form_state['values']['vocabulary_namespace_uri']['und'][0]['value'] == 0 ? url('<front>', array('absolute' => TRUE)) . $vocabulary_id . "#" : $form_state['input']['form-item_form-type-radio_form-item-vocabulary-namespace-uri-und_custom-textbox']);
+
+  $form_state['values']['vocabulary_namespace_uri']['und'][0]['value'] = "<a href='" . $form_state['values']['vocabulary_namespace_uri']['und'][0]['value'] . "'>" . $form_state['values']['vocabulary_namespace_uri']['und'][0]['value'] . "</a>";
+
+  // set workspace id of vocabulary node as workspace title
+  // create vocabulary node
+  // set main vocabulary id of workspace as that returned of the node
+
+  // vocabulary id
+  $vocabulary_id = $form_state['input']['vocabulary_title']['und'][0]['value'];
+  // related vocabulary workspace
+  $vocabulary_workspace = $form_state['values']['title'];
+  // vocabulary title
+  $vocabulary_title = $form_state['values']['title'];
+  // vocabulary namespace URI
+  $vocabulary_namespace_uri = $form_state['values']['vocabulary_namespace_uri']['und'][0]['value'];
+  // vocabulary abstract
+  $vocabulary_abstract = $form_state['input']['vocabulary_abstract']['und'][0]['value'];
+  // vocabulary body
+  $vocabulary_body = $form_state['input']['vocabulary_body']['und'][0]['value'];
+  // vocabulary additional RDF
+  $vocabulary_additional_rdf = $form_state['input']['vocabulary_additional_rdf']['und'][0]['value'];
+
+
+  $node           = new stdClass();
+  $node->type     = 'vocabulary';
+  $node->language = LANGUAGE_NONE;
+
+  node_object_prepare($node);
+
+  $node->title = $vocabulary_id;
+
+  // Saving custom fieids : $term->field_custom_field_name[LANGUAGE_NONE][0]['value'] = ÔSome valueÕ;
+
+  $node->field_vocabulary_workspace[0]['value'] = $vocabulary_workspace;
+  $node->field_vocabulary_namespace_uri[0]['value'] = $vocabulary_namespace_uri;
+  $node->field_vocabulary_title[0]['value'] = $vocabulary_title;
+  $node->field_vocabulary_abstract[0]['value'] = $vocabulary_abstract;
+  $node->field_vocabulary_body[0]['value'] = $vocabulary_body;
+  $node->field_vocabulary_additional_rdf[0]['value'] = $vocabulary_additional_rdf;
+
+  node_save($node);
+
+  // Objects are always passed by reference in PHP5.
+  $form_state['input']['workspace_main_vocabulary']['und']['0']['nid'] = $node->nid;
 }
 
 
 
+
 // Vocabulary ............
 
 /**
@@ -115,7 +202,6 @@ function _neologism_form_vocabulary_node_form_validate_alter(&$form, &$form_stat
 
 
 
-
 // Class ............
 
 /**
@@ -147,6 +233,7 @@ function _neologism_form_class_node_form_validate_alter(&$form, &$form_state) {
 
 
 
+
 // Property ........
 
 /**
