diff --git twitter-pull-listing.tpl.php twitter-pull-listing.tpl.php
index 164c6b5fc852af9f0d1c5db8a6683bc7f7d75a47..7e7ee2019d2ece67c4e23f0a3a1058a439e8ec67 100644
--- twitter-pull-listing.tpl.php
+++ twitter-pull-listing.tpl.php
@@ -12,6 +12,7 @@
  *   $tweet->userphoto
  *   $tweet->text
  *   $tweet->timestamp
+ *   $tweet->time_ago
  *
  * 2) $twitkey string containing initial keyword.
  *
diff --git twitter_pull.class.inc twitter_pull.class.inc
index 8aa16192fbc84cf1425db0c47a2596e8a0b4ae19..0e1ab67939b5d72f8e8bf5e25c0a4b4d77e490bc 100644
--- twitter_pull.class.inc
+++ twitter_pull.class.inc
@@ -105,15 +105,26 @@ class twitter_puller {
       $items = array_slice($items, 0, $this->num_items);
       foreach ($items as $item) {
         $obj = new stdClass();
-        $obj->id = $item->id_str;
-        $obj->username = (isset($item->user) && !empty($item->user->screen_name)) ? $item->user->screen_name : $item->from_user;
-          $obj->username = check_plain($obj->username);
-        $obj->userphoto = (isset($item->user) && !empty($item->user->profile_image_url)) ? $item->user->profile_image_url : $item->profile_image_url;
-          $obj->userphoto = check_plain($obj->userphoto);
-        $obj->text = filter_xss($item->text);
-        //-- Convert date to unix timestamp so themer can easily work with it.
-        $obj->timestamp = strtotime($item->created_at);
-        $obj->time_ago =  t('!time ago.', array('!time' => format_interval(time() - $obj->timestamp)));
+        if (isset($item->retweeted_status)) {
+          $obj->id = $item->retweeted_status->id_str;
+          $obj->username = (isset($item->retweeted_status->user) && !empty($item->retweeted_status->user->screen_name)) ? $item->retweeted_status->user->screen_name : $item->retweeted_status->from_user;
+            $obj->username = check_plain($obj->username);
+          $obj->userphoto = (isset($item->retweeted_status->user) && !empty($item->retweeted_status->user->profile_image_url)) ? $item->retweeted_status->user->profile_image_url : $item->retweeted_status->profile_image_url;
+            $obj->userphoto = check_plain($obj->userphoto);
+          $obj->text = filter_xss($item->retweeted_status->text);
+          //-- Convert date to unix timestamp so themer can easily work with it.
+          $obj->timestamp = strtotime($item->retweeted_status->created_at);
+        }
+        else {
+          $obj->id = $item->id_str;
+          $obj->username = (isset($item->user) && !empty($item->user->screen_name)) ? $item->user->screen_name : $item->from_user;
+            $obj->username = check_plain($obj->username);
+          $obj->userphoto = (isset($item->user) && !empty($item->user->profile_image_url)) ? $item->user->profile_image_url : $item->profile_image_url;
+            $obj->userphoto = check_plain($obj->userphoto);
+          $obj->text = filter_xss($item->text);
+          //-- Convert date to unix timestamp so themer can easily work with it.
+          $obj->timestamp = strtotime($item->created_at);
+        }
         $tweets[] = $obj;
       }
     }
diff --git twitter_pull.module twitter_pull.module
index 664c91e9e4e7dfc95750ad8c7eb323b2362952a8..892509e6c2339c6b7a6a55e864f1a09af0b367ca 100644
--- twitter_pull.module
+++ twitter_pull.module
@@ -30,14 +30,6 @@ function twitter_pull_flush_caches() {
 }
 
 /**
- * Implements hook_init().
- */
-function twitter_pull_init() {
-  $css_path = drupal_get_path('module', 'twitter_pull') . '/twitter-pull-listing.css';
-  drupal_add_css($css_path);
-}
-
-/**
  * Implements hook_theme().
  *
  * Defines default theme template for a list of tweets.
@@ -51,6 +43,17 @@ function twitter_pull_theme() {
   );
 }
 
+function twitter_pull_preprocess(&$variables, $hook) {
+  switch($hook) {
+    case 'twitter_pull_listing':
+    foreach ($variables['tweets'] as $key => $tweet) {
+      $tweet->time_ago = t('!time ago.', array('!time' => format_interval(time() - $tweet->timestamp)));
+      $variables['tweets'][$key] = $tweet;
+    }
+    break;
+  }
+}
+
 /**
  * Retrieves appropriate tweets (by username, hashkey or search term)
  * and passes over to the theming function with $themekey key passing
@@ -70,6 +73,8 @@ function twitter_pull_theme() {
  *     Theme key name to use for theming the output of Twitter API.
  */
 function twitter_pull_render($twitkey, $title = NULL, $num_items = NULL, $themekey = NULL) {
+  drupal_add_css(drupal_get_path('module', 'twitter_pull') . '/twitter-pull-listing.css');
+  
   //-- Set defaults if empty arguments were passed
   $title = (empty($title) && $title != FALSE ) ? t('Related Tweets') : $title;
   $themekey = empty($themekey) ? 'twitter_pull_listing' : $themekey;
@@ -141,11 +146,11 @@ function twitter_pull_add_links($text) {
   $text = preg_replace($pattern, $repl, $text);
 
   $pattern = '#@(\w+)#ims';
-  $repl = '@<a href="http://twitter.com/$1" rel="nofollow" title="@$1">$1</a>';
+  $repl = '<a href="http://twitter.com/$1" rel="nofollow" title="@$1">@$1</a>';
   $text = preg_replace($pattern, $repl, $text);
 
   $pattern = '/[#]+([A-Za-z0-9-_]+)/';
-  $repl = '#<a href="http://twitter.com/#!/search?q=%23$1" title="#$1" rel="nofollow">$1</a>';
+  $repl = '<a href="http://twitter.com/#!/search?q=%23$1" title="#$1" rel="nofollow">#$1</a>';
   $text = preg_replace($pattern, $repl, $text);  
 
   return $text;
