diff --git a/alinks.install b/alinks.install
index 9e728fb..2940709 100644
--- a/alinks.install
+++ b/alinks.install
@@ -7,6 +7,7 @@
 
 function alinks_uninstall() {
   variable_del('alinks_node_types');
+  variable_del('alinks_field');
   variable_del('alinks_limit');
 }
 
diff --git a/alinks.module b/alinks.module
index a97d9e4..5c34b60 100644
--- a/alinks.module
+++ b/alinks.module
@@ -103,6 +103,22 @@ function alinks_admin_settings() {
     '#options' => $types_options,
     '#default_value' => variable_get('alinks_node_types', array()),
   );
+  
+  $fields = field_info_field_map();
+  $field_options = array();
+  foreach ($fields as $field_name => $field) {
+    if (!empty($field['bundles']['node'])) {
+      $field_options[$field_name] = $field_name;
+    }
+  }
+  $form['alinks_settings']['alinks_node_types']['alinks_field'] = array(
+    '#type' => 'select',
+    '#title' => t('Alinks field'),
+    '#description' => t('Select the field to generate the links in'),
+    '#options' => $field_options,
+    '#default_value' => variable_get('alinks_field', ''),
+  );
+  
   $form['alinks_settings']['alinks_limit'] = array(
     '#type' => 'textfield',
     '#size' => 5,
@@ -351,21 +367,50 @@ function alinks_add_form() {
  * Submit the form used to add alinks and insert the data in the db
  */
 function alinks_add_form_submit($form, &$form_state) {
+  $link_data = array(
+    'alink_start_boundary' => isset($form_state['values']['start_boundary']) ? $form_state['values']['start_boundary'] : 0,
+    'alink_text' => isset($form_state['values']['word']) ? $form_state['values']['word'] : '',
+    'alink_end_boundary' => isset($form_state['values']['end_boundary']) ? $form_state['values']['end_boundary'] : 0,
+    'alink_case_insensitive' => isset($form_state['values']['case_insensitive']) ? $form_state['values']['case_insensitive'] : 0,
+    'alink_url' => isset($form_state['values']['url']) ? $form_state['values']['url'] : '',
+    'url_title' => isset($form_state['values']['url_title']) ? $form_state['values']['url_title'] : '',
+    'alink_external' => isset($form_state['values']['external']) ? $form_state['values']['external'] : 0,
+    'alink_class' => isset($form_state['values']['class']) ? $form_state['values']['class'] : '',
+    'alink_weight' => isset($form_state['values']['weight']) ? $form_state['values']['weight'] : 0,
+  );
+  $result = alinks_add_link($link_data);
+  if ($result) {
+    drupal_set_message('Alink succesfuly added');
+  }
+  else {
+    drupal_set_message('Error creating alink');
+  }
+  $form_state['redirect'] = 'admin/structure/alinks/edit';
+}
 
-  db_insert('alinks')->fields(array(
-      'alink_start_boundary' => $form_state['values']['start_boundary'],
-      'alink_text' => $form_state['values']['word'],
-      'alink_end_boundary' => $form_state['values']['end_boundary'],
-      'alink_case_insensitive' => $form_state['values']['case_insensitive'],
-      'alink_url' => $form_state['values']['url'],
-      'url_title' => $form_state['values']['url_title'],
-      'alink_external' => $form_state['values']['external'],
-      'alink_class' => $form_state['values']['class'],
-      'alink_weight' => $form_state['values']['weight'],
+/**
+ * Function to save a link to the db.
+ */
+function alinks_add_link(array $link_data) {
+  $success = FALSE;
+  if (isset($link_data['alink_text']) && isset($link_data['alink_url'])) {
+    $result = db_insert('alinks')->fields(array(
+      'alink_start_boundary' => isset($link_data['alink_start_boundary']) ? $link_data['alink_start_boundary'] : 0,
+      'alink_text' => $link_data['alink_text'],
+      'alink_end_boundary' => isset($link_data['alink_end_boundary']) ? $link_data['alink_end_boundary'] : 0,
+      'alink_case_insensitive' => isset($link_data['alink_case_insensitive']) ? $link_data['alink_case_insensitive'] : 0,
+      'alink_url' => $link_data['alink_url'],
+      'url_title' => isset($link_data['url_title']) ? check_plain($link_data['url_title']) : '',
+      'alink_external' => isset($link_data['alink_external']) ? $link_data['alink_external'] : 0,
+      'alink_class' => isset($link_data['alink_class']) ? $link_data['alink_class'] : 'alinks-link',
+      'alink_weight' => isset($link_data['alink_weight']) ? $link_data['alink_weight'] : 0,
     ))
-  ->execute();
-  drupal_set_message('Alink succesfuly added');
-  $form_state['redirect'] = 'admin/structure/alinks/edit';
+      ->execute();
+    if ($result) {
+      $success = $result;
+    }
+  }
+  return $success;
 }
 
 /**
