diff --git a/name.devel_generate.inc b/name.devel_generate.inc
new file mode 100644
index 0000000..5f94829
--- /dev/null
+++ b/name.devel_generate.inc
@@ -0,0 +1,65 @@
+<?php
+
+/**
+ * Devel_generate callback
+ */
+function name_devel_generate($object, $field, $instance, $bundle) {
+  if (field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_CUSTOM) {
+    return devel_generate_multiple('_name_devel_generate', $object, $field, $instance, $bundle);
+  }
+  else {
+    return _name_devel_generate($object, $field, $instance, $bundle);
+  }
+}
+
+/**
+ * Helper function to generate name instanse of field data
+ */
+function _name_devel_generate($object, $field, $instance, $bundle) {
+  $object_field = array();
+
+  foreach ($field['settings']['components'] as $part => $is_enabled) {
+    if ($is_enabled) {
+      if (isset($field['settings'][$part . '_options'])) {
+        $values = explode("\r\n", $field['settings'][$part . '_options']);
+        array_shift($values);
+        $object_field[$part] = $values[rand(0, count($values) - 1)];
+      } else { 
+        $word = devel_generate_word(rand(1, $field['settings']['max_length'][$part]));
+        $object_field[$part] = _name_devel_generate_name($word);
+      }
+    }
+    
+  }  
+
+  return $object_field;
+}
+
+/**
+ * Helper function to generate adjective of noun part of fake name
+ */
+function _name_devel_generate_name($rand_word) {
+  $noun_array = array('Enchanter', 'Genius', 'Hunter', 'Killer', 'Professional', 'Artist', 'Dreamer', 'Observer', 'Bastard', 'Wizard', 'Swami', 'Wanderer', 'Assassin', 'Bandit', 'Leader', 'Ambassador', 'Warrior', 'Menace', 'Worlock', 'Conqueror', 'Lover', 'Magician', 'Desperado', 'Specialist', 'Mercenary', 'Ninja', 'Contender', 'Mastermind', 'Demon', 'Watcher', 'Destroyer', 'Commander', 'Beggar', 'Dominator', 'Overlord', 'Samurai', 'Knight', 'Pupil', 'Prophet', 'Scholar');
+  $adj_array = array('Bitter', 'Friendly', 'Mad', 'Jolly', 'Dynamic', 'Erratic', 'Merry', 'Fearless', 'Misunderstood', 'Quiet', 'Pesty', 'Gentlemen', 'Profound', 'Respected', 'Amateur', 'Shrieking', 'Lucky', 'Phantom', 'Smiling', 'Thunderous', 'Tough', 'Ungrateful', 'Master', 'Excessive', 'Expert', 'Fanatical', 'Happy', 'Intellectual', 'Unlucky', 'Visual', 'Vulgar', 'Midnight', 'Mighty', 'Violent', 'Foolish', 'Crazy', 'Annoying', 'Arrogant', 'Beloved', 'Sarcastic', 'Insane', 'Irate', 'Drunken', '', 'Lazy-assed', 'Amazing' );
+
+  $realname = $rand_word; 
+  $displayname = $realname;
+  $realname = strtolower($realname);
+
+  $len = strlen($realname);
+  $seed = $s = 0;
+
+  for ($e = 1; $e <= $len; $e++) {
+    $chr = substr($realname, $s, $e);
+    $seed = $seed + ord($chr) * $e;
+    $s = $e;
+  }
+
+  srand($seed);
+  $arnd = rand(0, sizeof($adj_array) - 1);
+  $nrnd = rand(0, sizeof($noun_array) - 1);
+  
+  $results = array($adj_array[$arnd], $noun_array[$nrnd]);
+
+  return $results[rand(0, 1)];
+}
\ No newline at end of file
