diff --git a/defaultcontent.install b/defaultcontent.install
index 0c3596d..31ad1ee 100644
--- a/defaultcontent.install
+++ b/defaultcontent.install
@@ -39,6 +39,11 @@ function defaultcontent_schema() {
         'unsigned' => TRUE,
         'not null' => FALSE,
       ),
+      'sort_value' => array(
+        'description' => 'Sort number used when sorting default contents from multiple hooks',
+        'type' => 'int',
+        'not null' => FALSE,
+      ),
     ),
     'primary key' => array('name'),
   );
diff --git a/defaultcontent.module b/defaultcontent.module
index 62764bf..2310aae 100644
--- a/defaultcontent.module
+++ b/defaultcontent.module
@@ -14,6 +14,7 @@
 function defaultcontent_node_load($nodes, $types) {
   foreach ($nodes as $key => $node) {
     $nodes[$key]->machine_name = defaultcontent_get_default($node->nid);
+    $nodes[$key]->sort_value = defaultcontent_get_default_sort_value($node->nid);
   }
 }
 
@@ -36,7 +37,7 @@ function defaultcontent_node_delete($node) {
  */
 function defaultcontent_node_insert($node) {
   if (isset($node->machine_name)) {
-    defaultcontent_set_default($node->machine_name, $node->nid);
+    defaultcontent_set_default($node->machine_name, $node->nid, $node->sort_value);
   }
 }
 
@@ -68,6 +69,13 @@ function defaultcontent_form_alter(&$form, &$form_state, $form_id) {
       '#description' => 'Provide a unique name for this node',
       '#default_value' => isset($form_state['node']->machine_name) ? $form_state['node']->machine_name : '',
     );
+    $form['machine_name_fs']['sort_value'] = array(
+      '#type' => 'textfield',
+      '#title' => 'Sort Value',
+      '#required' => FALSE,
+      '#description' => 'Provide a sort value that will be used to sort default node contents. Leave empty if not needed.',
+      '#default_value' => isset($form_state['node']->sort_value) ? $form_state['node']->sort_value : '',
+    );
   }
 }
 
@@ -194,16 +202,17 @@ function defaultcontent_cron($allow_first_content = TRUE) {
  * @param $nid
  *   The nid of the node
  */
-function defaultcontent_set_default($name, $nid = NULL) {
+function defaultcontent_set_default($name, $nid = NULL, $sort_value = NULL) {
   $current_nid = defaultcontent_get_default($name);
+  $current_sort_value = defaultcontent_get_default_sort_value($name);
   if ($nid === FALSE) {
     db_delete('defaultcontent')->condition('name', $name)->execute();
   }
-  if ($current_nid === $nid) {
+  if ($current_nid === $nid && $current_sort_value === $sort_value) {
     // nothing to change here
     return;
   }
-  $record = (object) array('name' => $name, 'nid' => $nid);
+  $record = (object) array('name' => $name, 'nid' => $nid, 'sort_value' => $sort_value);
   $primary_keys = $current_nid === FALSE ? array() :array('name');
 
   drupal_write_record('defaultcontent', $record, $primary_keys);
@@ -259,6 +268,32 @@ function defaultcontent_get_node($name) {
 }
 
 /**
+* Used to get a sort_value
+*
+* @param $id
+*   An int $nid or a string machine_name
+*
+* @return unknown_type
+*   an sort_value
+*/
+function defaultcontent_get_default_sort_value($id = FALSE) {
+	if (!$id) {
+		return db_select('defaultcontent', 'd')
+		->fields('d', array('name', 'nid', 'sort_value'))
+		->execute();
+	}
+	$have = is_numeric($id) ? 'nid' : 'name';
+	$want = 'sort_value';
+	$values = db_select('defaultcontent', 'd')
+	->condition($have, $id)
+	->fields('d', array($want))
+	->execute()
+	->fetchCol();
+
+	return !empty($values) ? $values[0] : FALSE;
+}
+
+/**
  * This function turns a node in to code that can be used in a
  * hook_defaultcontents
  */
@@ -342,20 +377,18 @@ function defaultcontent_import_menu_link($key, $link) {
 }
 
 /**
- * use to sort component
- *
- *  this ask all alter plugins for a import_sort callback
+ * Sorts by sort_value.
  */
 function defaultcontent_import_sort($a, $b) {
-  $plugins = defaultcontent_get_alter_plugins();
-  $cmp = 0;
-  foreach ($plugins as $plugin) {
-    $cb = isset($plugin['import_sort callback']) ? $plugin['import_sort callback'] : $plugin['name'] . '_import_sort';
-    if (function_exists($cb)) {
-      $cmp = $cb($a, $b);
-    }
+  if ($a->sort_value < $b->sort_value) {
+    return -1;
+  }
+  elseif ($b->sort_value < $a->sort_value) {
+    return 1;
+  }
+  else {
+    return 0;
   }
-  return $cmp;
 }
 
 /**
diff --git a/plugins/node.inc b/plugins/node.inc
index a1828e6..148a6c0 100644
--- a/plugins/node.inc
+++ b/plugins/node.inc
@@ -31,6 +31,7 @@ function node_export_alter(&$node, &$export) {
     'translate',
     'machine_name',
     'body',
+    'sort_value',
   );
   // grab core properties
   foreach ($keys as $key) {
@@ -55,3 +56,16 @@ function node_import_alter(&$node) {
   $node->uid = 1;
 }
 
+/**
+ * 
+ * Sorts node
+ * @param node $a
+ * @param node $b
+ */
+function node_import_sort($a, $b){
+  if (isset($a->sort_value) && isset($b->sort_value)) {
+    return $a->sort_value < $b->sort_value;
+  }  
+  return isset($a->sort_value) ? -1: 1;
+}
+
