diff --git a/js/google_plus_one.js b/js/google_plus_one.js
index 893963d..cb61c61 100644
--- a/js/google_plus_one.js
+++ b/js/google_plus_one.js
@@ -1,9 +1,10 @@
 (function ($) {
-  $(document).ready(function(){
-    $('a.service-links-google-plus-one').each(function(){
-      var counter = Drupal.settings.ws_gpo.counter ? '' : 'count="false" ';
-      var type = (Drupal.settings.ws_gpo.type == '') ? '' : 'size="'+ Drupal.settings.ws_gpo.type + '" ';
-      var g_text = '<g:plusone ' + counter + type + 'href="' + $(this).attr('href') + '" >' + '</g:plusone>';
+  $(document).ready(function() {
+    $('a.service-links-google-plus-one').each(function() {
+      var size = Drupal.settings.ws_gpo.size == '' ? '' : 'data-size="' + Drupal.settings.ws_gpo.size + '" ';
+      var annotation = Drupal.settings.ws_gpo.annotation == '' ? '' : 'data-annotation="' + Drupal.settings.ws_gpo.annotation + '" ';
+      var width = Drupal.settings.ws_gpo.annotation == 'inline' ? 'data-width="' + Drupal.settings.ws_gpo.width + '" ' : '';
+      var g_text = '<div class="g-plusone" ' + size + annotation + width +'></div>';
       $(this).replaceWith(g_text);
     });
   });
diff --git a/services/widget_services.admin.inc b/services/widget_services.admin.inc
index 196ea2a..6e385dc 100644
--- a/services/widget_services.admin.inc
+++ b/services/widget_services.admin.inc
@@ -8,7 +8,8 @@
 /**
  * Menu callback administration settings for widget options.
  */
-function  widget_services_admin() {
+function widget_services_admin() {
+  // Twitter widget.
   $form['twitter_widget'] = array(
     '#type' => 'fieldset',
     '#collapsible' => TRUE,
@@ -33,10 +34,15 @@ function  widget_services_admin() {
     '#default_value' => variable_get('service_links_tw_data_via', ''),
     '#size' => 40,
   );
-  //data-related
-  //lang
-  //counturl
+  $form['twitter_widget']['service_links_tw_width'] = array(
+    '#title' => t('Width'),
+    '#type' => 'textfield',
+    '#default_value' => variable_get('service_links_tw_width', 107),
+    '#description' => t('A good value for button layout is 107, but your site design may call for something different.'),
+    '#size' => 10,
+  );
 
+  // Facebook Like widget.
   $form['facebook_like'] = array(
     '#type' => 'fieldset',
     '#collapsible' => TRUE,
@@ -112,7 +118,7 @@ function  widget_services_admin() {
     '#size' => 5,
     '#attributes' => array('class' => array('container-inline')),
   );
- 
+
   $form['facebook_share'] = array(
     '#type' => 'fieldset',
     '#collapsible' => TRUE,
@@ -132,7 +138,7 @@ function  widget_services_admin() {
   $form['facebook_share']['service_links_fs_text'] = array(
     '#type' => 'textfield',
     '#title' => t('Text'),
-    '#default_value' => variable_get('service_links_fs_text', 'Share on Facebook'), 
+    '#default_value' => variable_get('service_links_fs_text', 'Share on Facebook'),
     '#description' => t('This is the text displayed in the button. Leave blank if you dont want show anything but the counter (Select also Button Count above).'),
     '#size' => 40,
   );
@@ -142,6 +148,7 @@ function  widget_services_admin() {
     '#default_value' => variable_get('service_links_fs_fix_count', FALSE),
   );
 
+  // Digg widget.
   $form['digg_smart_button'] = array(
     '#type' => 'fieldset',
     '#collapsible' => TRUE,
@@ -180,29 +187,49 @@ function  widget_services_admin() {
     '#attributes' => array('class' => array('container-inline')),
   );
 
+  // Google Plus One widget.
   $form['google_plus_one'] = array(
     '#type' => 'fieldset',
     '#collapsible' => TRUE,
     '#collapsed' => FALSE,
     '#title' => t('Google Plus One'),
   );
-  $form['google_plus_one']['service_links_gpo_type'] = array(
-    '#title' => t('Type'),
+  $form['google_plus_one']['service_links_gpo_size'] = array(
+    '#title' => t('Size'),
     '#type' => 'select',
-    '#default_value' => variable_get('service_links_gpo_type', ''),
+    '#default_value' => variable_get('service_links_gpo_size', ''),
     '#options' => array(
-      '' => t('Standard'),
       'small' => t('Small'),
       'medium' => t('Medium'),
+      '' => t('Standard'),
       'tall' => t('Tall'),
     ),
   );
-  $form['google_plus_one']['service_links_gpo_counter'] = array(
-    '#title' => t('Show counter'),
-    '#type' => 'checkbox',
-    '#default_value' => variable_get('service_links_gpo_counter', TRUE),
+  $form['google_plus_one']['service_links_gpo_annotation'] = array(
+    '#title' => t('Annotation'),
+    '#type' => 'select',
+    '#default_value' => variable_get('service_links_gpo_annotation', ''),
+    '#options' => array(
+      'inline' => t('Inline'),
+      '' => t('Bubble'),
+      'none' => t('None'),
+    ),
+  );
+  $form['google_plus_one']['service_links_gpo_width'] = array(
+    '#title' => t('Width'),
+    '#type' => 'textfield',
+    '#default_value' => variable_get('service_links_gpo_width', 450),
+    '#description' => t('If annotation is set to "inline", this parameter sets the width in pixels to use for the button and its inline annotation. If the width is omitted, a button and its inline annotation use 450px.'),
+    '#size' => 10,
+    '#element_validate' => array('element_validate_integer_positive'),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="service_links_gpo_annotation"]' => array('value' => 'inline'),
+      ),
+    ),
   );
 
+  // LinkedIn Share widget.
   $form['linkedin_share_button'] = array(
     '#type' => 'fieldset',
     '#collapsible' => TRUE,
@@ -220,6 +247,7 @@ function  widget_services_admin() {
     ),
   );
 
+  // Pinterest widget.
   $form['pinterest_button'] = array(
     '#type' => 'fieldset',
     '#collapsible' => TRUE,
diff --git a/services/widget_services.install b/services/widget_services.install
new file mode 100644
index 0000000..740e987
--- /dev/null
+++ b/services/widget_services.install
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * Delete unused variables and set some new ones.
+ */
+function widget_services_update_7001() {
+  $old_type = variable_get('service_links_gpo_type', '');
+  variable_set('service_links_gpo_size', $old_type);
+  variable_set('service_links_gpo_width', 450);
+  variable_del('service_links_gpo_type');
+  variable_del('service_links_gpo_counter');
+}
diff --git a/services/widget_services.module b/services/widget_services.module
index 3cb28ea..b9144f0 100644
--- a/services/widget_services.module
+++ b/services/widget_services.module
@@ -197,8 +197,9 @@ function ws_google_plus_one_data(&$service, $subst) {
 
   if (!isset($gpo_settings)) {
     $gpo_settings = array(
-      'type' => check_plain(variable_get('service_links_gpo_type', '')),
-      'counter' => (boolean) variable_get('service_links_gpo_counter', TRUE),
+      'size' => check_plain(variable_get('service_links_gpo_size', '')),
+      'annotation' => check_plain(variable_get('service_links_gpo_annotation', '')),
+      'width' => check_plain(variable_get('service_links_gpo_width', 400)),
     );
 
     drupal_add_js(array('ws_gpo' => $gpo_settings), 'setting');
