diff --git a/metatags_quick.admin.inc b/metatags_quick.admin.inc
index df0e3ff..b449a41 100644
--- a/metatags_quick.admin.inc
+++ b/metatags_quick.admin.inc
@@ -722,172 +722,3 @@ function metatags_path_based_delete($entity) {
     ->execute();
   drupal_set_message(t('Deleted path-based meta tags for @path', array('@path' => $entity->path)), 'status');
 }
-
-/**
- * Admin page for inputting auto-settings for meta tags
- * @param $form
- * @param $form_state
- */
-
-function metatags_quick_admin_auto_settings($form,$form_state) {
-	$current_settings = variable_get('metatags_quick_auto_settings', '');
-	
-	// construct the options array for all content types
-	$type_names = node_type_get_names();
-
-	// facility to select content types for auto-tagging. Has AJAX behavior.
-	$form['applicable_content_types'] = array(
-		'#type' => 'checkboxes',
-		'#title' => t('Applicable content types'),
-		'#options' => $type_names,
-		'#default_value' => isset($current_settings['applicable_content_types'])?$current_settings['applicable_content_types']:array(),
-		'#description' => t('Select the content types for which auto settings should be applied'),
-		'#ajax' => array(
-			'callback' => 'metatags_quick_auto_ajax_callback',
-			'wrapper' => 'metatags-quick-auto-default-keywords',
-			'method' => 'replace'
-		)	
-	);
-	
-	// Common keywords that would be applied for all chosen content types 
-	$form['global_keywords'] = array(
-		'#type' => 'textfield',
-		'#title' => t('Global keywords'),
-		'#default_value' => isset($current_settings['global_keywords'])?$current_settings['global_keywords']:'',
-		'#description' => t('Enter a comma separated list of keywords. Global keywords will be always added to applicable content types.')
-	);
-	
-	// Content-type-wise special keywords. Only those content types chosen for auto-tagging would be displayed
-	$form['default_keywords'] = array(
-		'#type' => 'fieldset',
-		'#title' => t('Default keywords'),
-		'#collapsible' => true,
-		'#description' => t('Enter a comma separated list of keywords for the content types below, if you want them to be included automatifcally by default.'),
-		'#tree' => true,
-		'#prefix' => '<div id="metatags-quick-auto-default-keywords">',
-		'#suffix' => '</div>'
-	);
-	
-	$applicable_content_types = array();
-	$available_content_types = array();
-	
-	if (!empty($form_state['values']['applicable_content_types'])) {
-		$applicable_content_types = array_values($form_state['values']['applicable_content_types']);
-	}
-	elseif (isset($current_settings['applicable_content_types'])) {		
-		$applicable_content_types = array_values($current_settings['applicable_content_types']);
-	}	
-	
-	foreach ($type_names as $machine_name => $type_name) {
-		$exists = in_array($machine_name,$applicable_content_types,true); 
-		if ($exists) {
-			$available_content_types[$machine_name] = $type_name;
-		}
-	}
-	
-	foreach ($available_content_types as $machine_name => $type_name) {
-		if (isset($current_settings['default_keywords']) && isset($current_settings['default_keywords'][$machine_name])) {
-			$default_value = $current_settings['default_keywords'][$machine_name];
-		}
-		else {
-			$default_value = '';
-		}
-		
-		$form['default_keywords'][$machine_name] = array(
-			'#type' => 'textfield',
-			'#title' => $type_name,
-			'#default_value' => $default_value
-		);	
-	}
-	
-	
-	// taxonomy vocabularies that would supply keywords
-	$vocabularies = taxonomy_vocabulary_get_names();
-	$options = array();
-	foreach ($vocabularies as $machine_name => $vocabulary) {
-		$options[$machine_name] = $vocabulary->name;
-	}
-	
-	$form['auto_keywords_vocabularies'] = array(
-		'#type' => 'checkboxes',
-		'#title' => t('Auto-keywords vocabularies'),
-		'#options' => $options,
-		'#default_value' => isset($current_settings['auto_keywords_vocabularies'])?$current_settings['auto_keywords_vocabularies']:array(),
-		'#description' => t('Select the vocabularies which contain terms you want to add to the keywords meta tag for nodes. The terms of these vocabularies are added before the global and default keywords but after the page-specific keywords.')
-	);
-	
-	
-	// auto settings for meta description
-	$form['meta_description'] = array(
-		'#type' => 'fieldset',
-		'#title' => t('Meta Description'),
-		'#collapsible' => true,
-		'#description' => t('These options specify how meta description is to be generated from the node content.'),
-		'#tree' => true		
-	);	
-	
-	if (isset($current_settings['meta_description']) && isset($current_settings['meta_description']['auto_generate'])) {
-		$default_value = $current_settings['meta_description']['auto_generate'];
-	}
-	else {
-		$default_value = '';
-	}
-	
-	// Is auto-generation needed?
-	$form['meta_description']['auto_generate'] = array(
-		'#type' => 'checkbox',
-		'#title' => t('Auto generate meta description'),
-		'#default_value' => $default_value
-	);
-	
-	// if yes, from where?
-	if (isset($current_settings['meta_description']) && isset($current_settings['meta_description']['source'])) {
-		$default_value = $current_settings['meta_description']['source'];
-	}
-	else {
-		$default_value = '';
-	}
-	
-	$options = array(
-		'body' => t('Generate meta tags content from the node body'),
-		'teaser' => t('Generate meta tags content from the node teaser'),
-		'either' => t('Generate meta tags content from the node teaser, or the node body when the node teaser is empty')
-	);
-	
-	$form['meta_description']['source'] = array(
-		'#type' => 'radios',
-		'#title' => t('Generation source'),
-		'#options' => $options,
-		'#default_value' => $default_value
-	);
-	
-	$form['op'] = array(
-    '#value' => t('Submit'),
-    '#type' => 'submit', 
-  );
-  return $form;
-}
-
-
-/***
- * Submit function for the admin settings form.
- */
-
-function metatags_quick_admin_auto_settings_submit($form,$form_state) {
-	$new_settings = array(
-		'applicable_content_types' => $form_state['values']['applicable_content_types'],
-		'global_keywords' => $form_state['values']['global_keywords'],
-		'auto_keywords_vocabularies' => $form_state['values']['auto_keywords_vocabularies']
-	);
-	
-	foreach ($form_state['values']['default_keywords'] as $machine_name => $value) {
-		$new_settings['default_keywords'][$machine_name] = $value;
-	}
-	
-	foreach ($form_state['values']['meta_description'] as $key => $value) {
-		$new_settings['meta_description'][$key] = $value;
-	}	
-	
-	variable_set('metatags_quick_auto_settings', $new_settings);
-  drupal_set_message(t('Auto settings saved for Meta tags (quick)'), 'status');   
-}
diff --git a/metatags_quick.drush.inc b/metatags_quick.drush.inc
index 1ea2519..e01f26b 100644
--- a/metatags_quick.drush.inc
+++ b/metatags_quick.drush.inc
@@ -64,7 +64,7 @@ function drush_metatags_quick_migrate_fields($field_names) {
   }
 
   module_load_include('inc', 'metatags_quick', 'metatags_quick.admin');
-  module_load_include('inc', 'metatags_quick', 'nodewords_upgrade');
+  module_load_include('inc', 'metatags_quick_import', 'metatags_quick_import.admin');
   
   foreach($field_names as $field_name => $value) {
     if (!$value) {
diff --git a/metatags_quick.info b/metatags_quick.info
index 35ec7cb..5e946c6 100644
--- a/metatags_quick.info
+++ b/metatags_quick.info
@@ -1,4 +1,4 @@
 name = Meta tags (quick)
-description = Adds meta tags fields to virtually any page of your Drupal 7 site
+description = Meta tags support build using FieldAPI/EntityAPI
 core = 7.x
-package = Fields
+package = Meta tags (quick)
diff --git a/metatags_quick.module b/metatags_quick.module
index e8e4bb9..592775d 100644
--- a/metatags_quick.module
+++ b/metatags_quick.module
@@ -53,26 +53,6 @@ function metatags_quick_menu() {
     'file' => 'metatags_quick.admin.inc',
     'type' => MENU_DEFAULT_LOCAL_TASK,
   );
-  // 'auto' settings form 
-  $items['admin/config/search/metatags_quick/auto'] = array(
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('metatags_quick_admin_auto_settings'),
-    'title' => 'Auto settings',
-    'access arguments' => array('administer metatags_quick'),
-  	'file' => 'metatags_quick.admin.inc',
- 	'type' => MENU_LOCAL_TASK,
- 	'weight' => 10,
-  );
-
-  $items['admin/config/search/metatags_quick/upgrade'] = array(
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('metatags_quick_upgrade'),
-    'title' => 'Upgrade from nodewords',
-    'access arguments' => array('administer metatags_quick'),
-    'file' => 'nodewords_upgrade.inc',
-    'type' => MENU_LOCAL_TASK,
-  );
-
   return $items;
 }
 
diff --git a/metatags_quick_extra.admin.inc b/metatags_quick_extra.admin.inc
new file mode 100644
index 0000000..fda8473
--- /dev/null
+++ b/metatags_quick_extra.admin.inc
@@ -0,0 +1,175 @@
+<?php
+/**
+ * Optional automatic settings configuration
+ * 
+ * @author valthebald <http://drupal.org/user/239562>
+ */
+
+/**
+ * Admin page for inputting auto-settings for meta tags
+ * @param $form
+ * @param $form_state
+ */
+
+function metatags_quick_admin_auto_settings($form,$form_state) {
+	$current_settings = variable_get('metatags_quick_auto_settings', '');
+	
+	// construct the options array for all content types
+	$type_names = node_type_get_names();
+
+	// facility to select content types for auto-tagging. Has AJAX behavior.
+	$form['applicable_content_types'] = array(
+		'#type' => 'checkboxes',
+		'#title' => t('Applicable content types'),
+		'#options' => $type_names,
+		'#default_value' => isset($current_settings['applicable_content_types'])?$current_settings['applicable_content_types']:array(),
+		'#description' => t('Select the content types for which auto settings should be applied'),
+		'#ajax' => array(
+			'callback' => 'metatags_quick_auto_ajax_callback',
+			'wrapper' => 'metatags-quick-auto-default-keywords',
+			'method' => 'replace'
+		)	
+	);
+	
+	// Common keywords that would be applied for all chosen content types 
+	$form['global_keywords'] = array(
+		'#type' => 'textfield',
+		'#title' => t('Global keywords'),
+		'#default_value' => isset($current_settings['global_keywords'])?$current_settings['global_keywords']:'',
+		'#description' => t('Enter a comma separated list of keywords. Global keywords will be always added to applicable content types.')
+	);
+	
+	// Content-type-wise special keywords. Only those content types chosen for auto-tagging would be displayed
+	$form['default_keywords'] = array(
+		'#type' => 'fieldset',
+		'#title' => t('Default keywords'),
+		'#collapsible' => true,
+		'#description' => t('Enter a comma separated list of keywords for the content types below, if you want them to be included automatifcally by default.'),
+		'#tree' => true,
+		'#prefix' => '<div id="metatags-quick-auto-default-keywords">',
+		'#suffix' => '</div>'
+	);
+	
+	$applicable_content_types = array();
+	$available_content_types = array();
+	
+	if (!empty($form_state['values']['applicable_content_types'])) {
+		$applicable_content_types = array_values($form_state['values']['applicable_content_types']);
+	}
+	elseif (isset($current_settings['applicable_content_types'])) {		
+		$applicable_content_types = array_values($current_settings['applicable_content_types']);
+	}	
+	
+	foreach ($type_names as $machine_name => $type_name) {
+		$exists = in_array($machine_name,$applicable_content_types,true); 
+		if ($exists) {
+			$available_content_types[$machine_name] = $type_name;
+		}
+	}
+	
+	foreach ($available_content_types as $machine_name => $type_name) {
+		if (isset($current_settings['default_keywords']) && isset($current_settings['default_keywords'][$machine_name])) {
+			$default_value = $current_settings['default_keywords'][$machine_name];
+		}
+		else {
+			$default_value = '';
+		}
+		
+		$form['default_keywords'][$machine_name] = array(
+			'#type' => 'textfield',
+			'#title' => $type_name,
+			'#default_value' => $default_value
+		);	
+	}
+	
+	
+	// taxonomy vocabularies that would supply keywords
+	$vocabularies = taxonomy_vocabulary_get_names();
+	$options = array();
+	foreach ($vocabularies as $machine_name => $vocabulary) {
+		$options[$machine_name] = $vocabulary->name;
+	}
+	
+	$form['auto_keywords_vocabularies'] = array(
+		'#type' => 'checkboxes',
+		'#title' => t('Auto-keywords vocabularies'),
+		'#options' => $options,
+		'#default_value' => isset($current_settings['auto_keywords_vocabularies'])?$current_settings['auto_keywords_vocabularies']:array(),
+		'#description' => t('Select the vocabularies which contain terms you want to add to the keywords meta tag for nodes. The terms of these vocabularies are added before the global and default keywords but after the page-specific keywords.')
+	);
+	
+	
+	// auto settings for meta description
+	$form['meta_description'] = array(
+		'#type' => 'fieldset',
+		'#title' => t('Meta Description'),
+		'#collapsible' => true,
+		'#description' => t('These options specify how meta description is to be generated from the node content.'),
+		'#tree' => true		
+	);	
+	
+	if (isset($current_settings['meta_description']) && isset($current_settings['meta_description']['auto_generate'])) {
+		$default_value = $current_settings['meta_description']['auto_generate'];
+	}
+	else {
+		$default_value = '';
+	}
+	
+	// Is auto-generation needed?
+	$form['meta_description']['auto_generate'] = array(
+		'#type' => 'checkbox',
+		'#title' => t('Auto generate meta description'),
+		'#default_value' => $default_value
+	);
+	
+	// if yes, from where?
+	if (isset($current_settings['meta_description']) && isset($current_settings['meta_description']['source'])) {
+		$default_value = $current_settings['meta_description']['source'];
+	}
+	else {
+		$default_value = '';
+	}
+	
+	$options = array(
+		'body' => t('Generate meta tags content from the node body'),
+		'teaser' => t('Generate meta tags content from the node teaser'),
+		'either' => t('Generate meta tags content from the node teaser, or the node body when the node teaser is empty')
+	);
+	
+	$form['meta_description']['source'] = array(
+		'#type' => 'radios',
+		'#title' => t('Generation source'),
+		'#options' => $options,
+		'#default_value' => $default_value
+	);
+	
+	$form['op'] = array(
+    '#value' => t('Submit'),
+    '#type' => 'submit', 
+  );
+  return $form;
+}
+
+
+/***
+ * Submit function for the admin settings form.
+ */
+
+function metatags_quick_admin_auto_settings_submit($form,$form_state) {
+	$new_settings = array(
+		'applicable_content_types' => $form_state['values']['applicable_content_types'],
+		'global_keywords' => $form_state['values']['global_keywords'],
+		'auto_keywords_vocabularies' => $form_state['values']['auto_keywords_vocabularies']
+	);
+	
+	foreach ($form_state['values']['default_keywords'] as $machine_name => $value) {
+		$new_settings['default_keywords'][$machine_name] = $value;
+	}
+	
+	foreach ($form_state['values']['meta_description'] as $key => $value) {
+		$new_settings['meta_description'][$key] = $value;
+	}	
+	
+	variable_set('metatags_quick_auto_settings', $new_settings);
+  drupal_set_message(t('Auto settings saved for Meta tags (quick)'), 'status');   
+}
diff --git a/metatags_quick_extra.info b/metatags_quick_extra.info
new file mode 100644
index 0000000..ffd770f
--- /dev/null
+++ b/metatags_quick_extra.info
@@ -0,0 +1,6 @@
+name = Extra functionality
+description = Automatic settings for meta tags (quick)
+core = 7.x
+package = Meta tags (quick)
+
+dependencies[] = metatags_quick
\ No newline at end of file
diff --git a/metatags_quick_extra.module b/metatags_quick_extra.module
new file mode 100644
index 0000000..7f02fc1
--- /dev/null
+++ b/metatags_quick_extra.module
@@ -0,0 +1,23 @@
+<?php
+/**
+ * @file import nodewords data to metatags_quick fields
+ * @author Valery L. Lourie <http://drupal.org/user/239562>
+ */
+
+/**
+ * Implements hook_menu().
+ * @see http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_menu/7
+ */
+function metatags_quick_extra_menu() {
+  $items['admin/config/search/metatags_quick/auto'] = array(
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('metatags_quick_admin_auto_settings'),
+    'title' => 'Auto settings',
+    'access arguments' => array('administer metatags_quick'),
+  	'file' => 'metatags_quick_extra.admin.inc',
+ 	'type' => MENU_LOCAL_TASK,
+ 	'weight' => 10,
+  );
+  return $items;
+}
+
diff --git a/metatags_quick_import.admin.inc b/metatags_quick_import.admin.inc
new file mode 100644
index 0000000..3ead2bd
--- /dev/null
+++ b/metatags_quick_import.admin.inc
@@ -0,0 +1,162 @@
+<?php
+/**
+ * @file upgrade path from the D6 nodewords module
+ * @author maxiorel <http://drupal.org/user/49016>
+ * @author valthebald <http://drupal.org/user/239562>
+ */
+
+function metatags_quick_upgrade() {
+  if (db_table_exists('nodewords')) {
+    module_load_include('inc', 'metatags_quick', 'known_tags');
+    $form['description'] = array(
+      '#type' => 'markup',
+      '#markup' => '<p>' . t('This utility will convert existing nodewords to the Drupal 7 fields.') . '</p>'
+    );
+    $form['create_fields'] = array(
+      '#title' => t('Create fields'),
+      '#description' => t('Create fields if they do not exist.'),
+      '#type' => 'checkbox',
+      '#return_value' => '1',
+      '#default_value' => '1',
+    );
+    $fields = variable_get('nodewords_edit', array());
+    $options = drupal_map_assoc(array_keys(_metatags_quick_known_fields()));
+    $form['fields_select'] = array(
+      '#title' => t('Fields to import'),
+      '#description' => t('Field list is taken from nodewords settings.'),
+      '#type' => 'checkboxes',
+      '#required' => TRUE,
+      '#options' => $options,
+      '#default_value' => $fields,
+    );
+    $form['batch_size'] = array(
+      '#type' => 'textfield',
+      '#default_value' => '100',
+      '#description' => t('How many nodes to process during one iteration'),
+    );
+    $form['submit'] = array(
+      '#type' => 'submit',
+      '#value' => t('Convert'),
+    );
+  }
+  else {
+    $form['description'] = array(
+      '#markup' => t('Nodewords table not found. Please check your installation'),
+    );
+  }
+  return $form;
+}
+
+function metatags_quick_upgrade_submit($form, &$form_state) {
+  // Step 1. Create fields if they don't exist.
+  if ($form_state['values']['create_fields']) {
+    // Note: we upgrade only node data!
+    $node_bundles = field_info_bundles('node');
+    if (empty($node_bundles)) {
+      form_set_error(t('No content types found. !define them first', array('!define' => l(t('define'), 'admin/structure/types'))));
+      return;
+    }
+    
+    module_load_include('inc', 'metatags_quick', 'metatags_quick.admin');
+    foreach($form_state['values']['fields_select'] as $field_name => $value) {
+      if (!$value) {
+        continue;
+      }
+      foreach ($node_bundles as $bundle_name => $bundle) {
+        _metatags_quick_field_attach('node', $bundle_name, $field_name);
+      }
+    }
+  }
+  
+  $fields_to_import = array();
+  foreach($form_state['values']['fields_select'] as $field_name => $value) {
+    if ($value) {
+      $fields_to_import[] = $field_name;
+    }
+  }
+  $batch = metatags_quick_upgrade_batch($form_state['values']['batch_size'], $fields_to_import);
+  batch_set($batch);
+}
+
+function metatags_quick_upgrade_finished($success, $results, $operations) {
+  if ($success) {
+    drupal_set_message(t('@node_count results processed in @requests iterations.', array('@node_count' => $_SESSION['nodewords_upgrade_total'], '@requests' => count($results))));
+  }
+  else {
+    $error_operation = reset($operations);
+    drupal_set_message(t('An error occurred while processing @operation with arguments : @args', array('@operation' => $error_operation[0], '@args' => print_r($error_operation[0], TRUE))));
+  }
+}
+
+
+function metatags_quick_upgrade_batch($batch_size, $fields_to_import) {
+  if ($batch_size < 2) {
+    $batch_size = 1;
+  }
+  $num_operations = metatags_quick_get_node_count();
+  $_SESSION['nodewords_upgrade_total'] = $num_operations;
+  $_SESSION['nodewords_upgrade_processed'] = 0;
+  drupal_set_message(t('Converting metatags for @num nodes', array('@num' => $num_operations)));
+  $operations = array();
+  $nid_result = db_select('node', 'n')
+    ->fields('n', array('nid'))
+    ->execute();
+  $nids = array();
+  foreach ($nid_result as $node) {
+    $nids[] = $node->nid;
+    if (count($nids) >= $batch_size) {
+      $operations[] = array('metatags_quick_convert_metatags', array($nids, $fields_to_import));
+      $nids = array();
+    }
+  }
+  if (count($nids)) {
+    $operations[] = array('metatags_quick_convert_metatags', array($nids, $fields_to_import));
+  }
+  $batch = array(
+    'operations' => $operations,
+    'progress_message' => t('Completed :nodes_completed of :nodes_total', array(
+      ':nodes_completed' => $_SESSION['nodewords_upgrade_processed'], ':nodes_total' => $_SESSION['nodewords_upgrade_total'])),
+    'finished' => 'metatags_quick_upgrade_finished',
+    'file' => drupal_get_path('module', 'metatags_quick') . '/nodewords_upgrade.inc',
+  );
+  return $batch;
+}
+
+function metatags_quick_convert_metatags($nids, $fields_to_import) {
+  $processed_nodes = node_load_multiple($nids);
+  $select = db_select('nodewords', 'n')
+    ->fields('n', array('id', 'name', 'content'))
+    ->condition('n.name', $fields_to_import, 'IN')
+    ->condition('n.id', $nids, 'IN')
+    ->execute();
+
+  foreach ($select as $row) {
+    $nodewords_data[$row->id][$row->name] = unserialize($row->content);
+  }
+  
+  foreach ($processed_nodes as $node) {
+    $_SESSION['nodewords_upgrade_total']++;
+    $node_changed = FALSE;
+    foreach ($fields_to_import as $field) {
+      if (!empty($nodewords_data[$node->nid][$field])
+        && !empty($nodewords_data[$node->nid][$field]['value'])) {
+        $node_changed = TRUE;
+        $meta_field_name = "meta_$field";
+        $node->{$meta_field_name}[$node->language][0]['metatags_quick'] = 
+         substr($nodewords_data[$node->nid][$field]['value'], 0, 255);
+      }
+    }
+    if ($node_changed) {
+      node_save($node);
+    }
+  }
+}
+
+function metatags_quick_get_node_count() {
+  $query = 'SELECT count(*) as count FROM {node}';
+  $result = db_query($query);
+  foreach ($result as $record) {
+    $pocet = $record->count;
+  }
+  return $pocet;
+}
\ No newline at end of file
diff --git a/metatags_quick_import.info b/metatags_quick_import.info
new file mode 100644
index 0000000..6f21e8e
--- /dev/null
+++ b/metatags_quick_import.info
@@ -0,0 +1,6 @@
+name = Upgrade from nodewords
+description = Transform nodewords data to Drupal 7 fields
+core = 7.x
+package = Meta tags (quick)
+
+dependencies[] = metatags_quick
\ No newline at end of file
diff --git a/metatags_quick_import.module b/metatags_quick_import.module
new file mode 100644
index 0000000..eb8a1f8
--- /dev/null
+++ b/metatags_quick_import.module
@@ -0,0 +1,23 @@
+<?php
+/**
+ * @file import nodewords data to metatags_quick fields
+ * @author Valery L. Lourie <http://drupal.org/user/239562>
+ */
+
+/**
+ * Implements hook_menu().
+ * @see http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_menu/7
+ */
+function metatags_quick_import_menu() {
+  $items['admin/config/search/metatags_quick/import'] = array(
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('metatags_quick_upgrade'),
+    'title' => 'Upgrade from nodewords',
+    'access arguments' => array('administer metatags_quick'),
+    'file' => 'metatags_quick_import.admin.inc',
+    'type' => MENU_LOCAL_TASK,
+  );
+
+  return $items;
+}
+
diff --git a/nodewords_upgrade.inc b/nodewords_upgrade.inc
deleted file mode 100644
index 542c53b..0000000
--- a/nodewords_upgrade.inc
+++ /dev/null
@@ -1,162 +0,0 @@
-<?php
-/**
- * @file upgrade path from the D6 nodewords module
- * @author maxiorel <http://drupal.org/user/49016>
- * @author valthebald <http://drupal.org/user/239562>
- */
-
-function metatags_quick_upgrade() {
-  if (true || db_table_exists('nodewords')) {
-    module_load_include('inc', 'metatags_quick', 'known_tags');
-    $form['description'] = array(
-      '#type' => 'markup',
-      '#markup' => '<p>' . t('This utility will convert existing nodewords to the Drupal 7 fields.') . '</p>'
-    );
-    $form['create_fields'] = array(
-      '#title' => t('Create fields'),
-      '#description' => t('Create fields if they do not exist.'),
-      '#type' => 'checkbox',
-      '#return_value' => '1',
-      '#default_value' => '1',
-    );
-    $fields = variable_get('nodewords_edit', array());
-    $options = drupal_map_assoc(array_keys(_metatags_quick_known_fields()));
-    $form['fields_select'] = array(
-      '#title' => t('Fields to import'),
-      '#description' => t('Field list is taken from nodewords settings.'),
-      '#type' => 'checkboxes',
-      '#required' => TRUE,
-      '#options' => $options,
-      '#default_value' => $fields,
-    );
-    $form['batch_size'] = array(
-      '#type' => 'textfield',
-      '#default_value' => '100',
-      '#description' => t('How many nodes to process during one iteration'),
-    );
-    $form['submit'] = array(
-      '#type' => 'submit',
-      '#value' => t('Convert'),
-    );
-  }
-  else {
-    $form['description'] = array(
-      '#markup' => t('Nodewords table not found. Please check your installation'),
-    );
-  }
-  return $form;
-}
-
-function metatags_quick_upgrade_submit($form, &$form_state) {
-  // Step 1. Create fields if they don't exist.
-  if ($form_state['values']['create_fields']) {
-    // Note: we upgrade only node data!
-    $node_bundles = field_info_bundles('node');
-    if (empty($node_bundles)) {
-      form_set_error(t('No content types found. !define them first', array('!define' => l(t('define'), 'admin/structure/types'))));
-      return;
-    }
-    
-    module_load_include('inc', 'metatags_quick', 'metatags_quick.admin');
-    foreach($form_state['values']['fields_select'] as $field_name => $value) {
-      if (!$value) {
-        continue;
-      }
-      foreach ($node_bundles as $bundle_name => $bundle) {
-        _metatags_quick_field_attach('node', $bundle_name, $field_name);
-      }
-    }
-  }
-  
-  $fields_to_import = array();
-  foreach($form_state['values']['fields_select'] as $field_name => $value) {
-    if ($value) {
-      $fields_to_import[] = $field_name;
-    }
-  }
-  $batch = metatags_quick_upgrade_batch($form_state['values']['batch_size'], $fields_to_import);
-  batch_set($batch);
-}
-
-function metatags_quick_upgrade_finished($success, $results, $operations) {
-  if ($success) {
-    drupal_set_message(t('@node_count results processed in @requests iterations.', array('@node_count' => $_SESSION['nodewords_upgrade_total'], '@requests' => count($results))));
-  }
-  else {
-    $error_operation = reset($operations);
-    drupal_set_message(t('An error occurred while processing @operation with arguments : @args', array('@operation' => $error_operation[0], '@args' => print_r($error_operation[0], TRUE))));
-  }
-}
-
-
-function metatags_quick_upgrade_batch($batch_size, $fields_to_import) {
-  if ($batch_size < 2) {
-    $batch_size = 1;
-  }
-  $num_operations = metatags_quick_get_node_count();
-  $_SESSION['nodewords_upgrade_total'] = $num_operations;
-  $_SESSION['nodewords_upgrade_processed'] = 0;
-  drupal_set_message(t('Converting metatags for @num nodes', array('@num' => $num_operations)));
-  $operations = array();
-  $nid_result = db_select('node', 'n')
-    ->fields('n', array('nid'))
-    ->execute();
-  $nids = array();
-  foreach ($nid_result as $node) {
-    $nids[] = $node->nid;
-    if (count($nids) >= $batch_size) {
-      $operations[] = array('metatags_quick_convert_metatags', array($nids, $fields_to_import));
-      $nids = array();
-    }
-  }
-  if (count($nids)) {
-    $operations[] = array('metatags_quick_convert_metatags', array($nids, $fields_to_import));
-  }
-  $batch = array(
-    'operations' => $operations,
-    'progress_message' => t('Completed :nodes_completed of :nodes_total', array(
-      ':nodes_completed' => $_SESSION['nodewords_upgrade_processed'], ':nodes_total' => $_SESSION['nodewords_upgrade_total'])),
-    'finished' => 'metatags_quick_upgrade_finished',
-    'file' => drupal_get_path('module', 'metatags_quick') . '/nodewords_upgrade.inc',
-  );
-  return $batch;
-}
-
-function metatags_quick_convert_metatags($nids, $fields_to_import) {
-  $processed_nodes = node_load_multiple($nids);
-  $select = db_select('nodewords', 'n')
-    ->fields('n', array('id', 'name', 'content'))
-    ->condition('n.name', $fields_to_import, 'IN')
-    ->condition('n.id', $nids, 'IN')
-    ->execute();
-
-  foreach ($select as $row) {
-    $nodewords_data[$row->id][$row->name] = unserialize($row->content);
-  }
-  
-  foreach ($processed_nodes as $node) {
-    $_SESSION['nodewords_upgrade_total']++;
-    $node_changed = FALSE;
-    foreach ($fields_to_import as $field) {
-      if (!empty($nodewords_data[$node->nid][$field])
-        && !empty($nodewords_data[$node->nid][$field]['value'])) {
-        $node_changed = TRUE;
-        $meta_field_name = "meta_$field";
-        $node->{$meta_field_name}[$node->language][0]['metatags_quick'] = 
-         substr($nodewords_data[$node->nid][$field]['value'], 0, 255);
-      }
-    }
-    if ($node_changed) {
-      node_save($node);
-    }
-  }
-}
-
-function metatags_quick_get_node_count() {
-  $query = 'SELECT count(*) as count FROM {node}';
-  $result = db_query($query);
-  foreach ($result as $record) {
-    $pocet = $record->count;
-  }
-  return $pocet;
-}
\ No newline at end of file
