diff --git a/link.module b/link.module
index 1e9d088..e14158b 100644
--- a/link.module
+++ b/link.module
@@ -77,6 +77,7 @@ function link_field_instance_settings_form($field, $instance) {
     '#title' => t('Absolute URL'),
     '#default_value' => isset($instance['settings']['absolute_url']) && ($instance['settings']['absolute_url'] !== '') ? $instance['settings']['absolute_url'] : TRUE,
     '#description' => t('If checked, the URL will always render as an absolute URL.'),
+    '#weight' => -4,
   );
 
   $form['validate_url'] = array(
@@ -84,6 +85,7 @@ function link_field_instance_settings_form($field, $instance) {
     '#title' => t('Validate URL'),
     '#default_value' => isset($instance['settings']['validate_url']) && ($instance['settings']['validate_url'] !== '') ? $instance['settings']['validate_url'] : TRUE,
     '#description' => t('If checked, the URL field will be verified as a valid URL during validation.'),
+    '#weight' => -4,
   );
 
   $form['url'] = array(
@@ -92,6 +94,7 @@ function link_field_instance_settings_form($field, $instance) {
     '#default_value' => isset($instance['settings']['url']) ? $instance['settings']['url'] : '',
     '#return_value' => 'optional',
     '#description' => t('If checked, the URL field is optional and submitting a title alone will be acceptable. If the URL is omitted, the title will be displayed as plain text.'),
+    '#weight' => -4,
   );
 
   $title_options = array(
@@ -107,6 +110,7 @@ function link_field_instance_settings_form($field, $instance) {
     '#default_value' => isset($instance['settings']['title']) ? $instance['settings']['title'] : 'optional',
     '#options' => $title_options,
     '#description' => t('If the link title is optional or required, a field will be displayed to the end user. If the link title is static, the link will always use the same title. If <a href="http://drupal.org/project/token">token module</a> is installed, the static title value may use any other entity field as its value. Static and token-based titles may include most inline XHTML tags such as <em>strong</em>, <em>em</em>, <em>img</em>, <em>span</em>, etc.'),
+    '#weight' => -3,
   );
 
   $form['title_value'] = array(
@@ -114,6 +118,7 @@ function link_field_instance_settings_form($field, $instance) {
     '#title' => t('Static title'),
     '#default_value' => isset($instance['settings']['title_value']) ? $instance['settings']['title_value'] : '',
     '#description' => t('This title will always be used if &ldquo;Static Title&rdquo; is selected above.'),
+    '#weight' => -3,
   );
 
   $form['title_label_use_field_label'] = array(
@@ -121,6 +126,7 @@ function link_field_instance_settings_form($field, $instance) {
     '#title' => t('Use field label as the label for the title field'),
     '#default_value' => isset($instance['settings']['title_label_use_field_label']) ? $instance['settings']['title_label_use_field_label'] : FALSE,
     '#description' => t('If this is checked the field label will be hidden.'),
+    '#weight' => -3,
   );
 
   $form['title_maxlength'] = array(
@@ -130,6 +136,27 @@ function link_field_instance_settings_form($field, $instance) {
     '#description' => t('Set a maximum length on the title field (applies only if Link Title is optional or required).  The maximum limit is 255 characters.'),
     '#maxlength' => 3,
     '#size' => 3,
+    '#weight' => -3,
+  );
+
+  $form['title_size'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Size of title textfield'),
+    '#default_value' => isset($instance['settings']['title_size']) ? $instance['settings']['title_size'] : '60',
+    '#maxlength' => 3,
+    '#size' => 3,
+    '#required' => TRUE,
+    '#weight' => -2,
+  );
+
+  $form['url_size'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Size of URL textfield'),
+    '#default_value' => isset($instance['settings']['title_size']) ? $instance['settings']['title_size'] : '60',
+    '#maxlength' => 3,
+    '#size' => 3,
+    '#required' => TRUE,
+    '#weight' => -2,
   );
 
   if (module_exists('token')) {
@@ -139,6 +166,7 @@ function link_field_instance_settings_form($field, $instance) {
       '#title' => t('Allow user-entered tokens'),
       '#default_value' => isset($instance['settings']['enable_tokens']) ? $instance['settings']['enable_tokens'] : 1,
       '#description' => t('Checking will allow users to enter tokens in URLs and Titles on the entity edit form. This does not affect the field settings on this page.'),
+      '#weight' => -1,
     );
 
     $entity_info = entity_get_info($instance['entity_type']);
@@ -237,6 +265,7 @@ function link_field_settings_form_validate($element, &$form_state, $complete_for
   if (!empty($form_state['values']['instance']['settings']['display']['url_cutoff']) && !is_numeric($form_state['values']['instance']['settings']['display']['url_cutoff'])) {
     form_set_error('display', t('URL Display Cutoff value must be numeric.'));
   }
+
   if (empty($form_state['values']['instance']['settings']['title_maxlength'])) {
     form_set_value($element['title_maxlength'], '128', $form_state);
   }
@@ -246,6 +275,13 @@ function link_field_settings_form_validate($element, &$form_state, $complete_for
   elseif ($form_state['values']['instance']['settings']['title_maxlength'] > 255) {
     form_set_error('title_maxlength', t('The max length of the link title cannot be greater than 255 characters.'));
   }
+
+  if (!is_numeric($form_state['values']['instance']['settings']['title_size'])) {
+    form_set_error('title_size', t('The size of the title field must be numeric.'));
+  }
+  if (!is_numeric($form_state['values']['instance']['settings']['url_size'])) {
+    form_set_error('url_size', t('The size of the URL field must be numeric.'));
+  }
 }
 
 /**
@@ -830,6 +866,7 @@ function link_field_process($element, $form_state, $complete_form) {
     '#title' => t('URL'),
     '#required' => ($element['#delta'] == 0 && $settings['url'] !== 'optional') ? $element['#required'] : FALSE,
     '#default_value' => isset($element['#value']['url']) ? $element['#value']['url'] : NULL,
+    '#size' => isset($settings['url_size']) ? $settings['url_size'] : 60,
   );
   if ($settings['title'] !== 'none' && $settings['title'] !== 'value') {
     // Figure out the label of the title field.
@@ -850,6 +887,7 @@ function link_field_process($element, $form_state, $complete_form) {
       '#description' => t('The link title is limited to @maxlength characters maximum.', array('@maxlength' => $settings['title_maxlength'])),
       '#required' => ($settings['title'] == 'required' && (($element['#delta'] == 0 && $element['#required']) || !empty($element['#value']['url']))) ? TRUE : FALSE,
       '#default_value' => isset($element['#value']['title']) ? $element['#value']['title'] : NULL,
+      '#size' => isset($settings['title_size']) ? $settings['title_size'] : 60,
     );
   }
 
