diff --git all/modules/twitter_pull/twitter_pull.install all/modules/twitter_pull/twitter_pull.install
index 6a6d732..95005a1 100644
--- all/modules/twitter_pull/twitter_pull.install
+++ all/modules/twitter_pull/twitter_pull.install
@@ -18,6 +18,9 @@ function twitter_pull_install() {
  */
 function twitter_pull_uninstall() {
   drupal_uninstall_schema('twitter_pull');
+  variable_del('twitter_pull_username');
+  variable_del('twitter_pull_title');
+  variable_del('twitter_pull_numitems');
 }
 
 /**
diff --git all/modules/twitter_pull/twitter_pull.module all/modules/twitter_pull/twitter_pull.module
index 7683261..5ed7750 100644
--- all/modules/twitter_pull/twitter_pull.module
+++ all/modules/twitter_pull/twitter_pull.module
@@ -147,14 +147,24 @@ function twitter_pull_theme() {
   );
 }
 
+/**
+ * Implementation of hook_menu
+ */
+function twitter_pull_menu() {
+  $items = array();
 
-
-
+  $items['admin/settings/twitterpull'] = array(
+    'title' => 'Twitter Pull',
+    'description' => 'Configuration settings',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('twitter_pull_admin'),
+    'access arguments' => array('access administration pages'),
+    'type' => MENU_NORMAL_ITEM,
+  );
+  
 /****** FOR TESTING ONLY. KEEP DISABLED AT ALL TIMES UNLESS DEBUGGING ******/
 
 /*
-function twitter_pull_menu() {
-  $items = array();
 
   $items['twitter/pull/test'] = array(
     'title' => 'Twitter Pull Test',
@@ -163,10 +173,111 @@ function twitter_pull_menu() {
     'type' => MENU_CALLBACK,
   );
 
+ */
+ 
   return $items;
 }
 
 function twitter_pull_test() {
   return twitter_pull_render('@inadarei');
 }
-*/
+ 
+/** 
+ * Implementation of hook_admin
+ */
+function twitter_pull_admin() {
+  $form = array();  
+  $form['twitter_pull_disable_style'] = array(
+    '#type' => 'checkbox',
+    '#title'=> t('Enable style sheet'),
+    '#default_value' => variable_get('twitter_pull_disable_style', 0),
+    '#description'  => t("Use the supplied stylesheet"),
+  );
+  $form['twitter_pull_cache_length'] = array(
+    '#type' => 'textfield',
+    '#title'=> t('Cache Time'),
+    '#default_value' => twitter_pull_cache_length(),
+    '#description'  => t("Minutes between tweet refreshes"),
+    '#size'  => 2,
+  );
+  return system_settings_form($form);
+}
+
+/**
+ * Implementation of hook_block
+ */
+function twitter_pull_block ($op = 'list', $delta = '', $edit = array()){
+  switch($op) {
+  case 'list':
+    //return a list of blocks      
+    $blocks = array();
+    $blocks['twitter_pull'] = array(
+      'info' => 'Twitter',
+      'cache' => BLOCK_CACHE_GLOBAL,
+      'visibility'=> 0,
+    );
+
+    return $blocks;
+    break; // end $op = list
+
+  case 'configure':
+    //return configuration forms for the blocks
+    $form = array();
+    switch ($delta) {
+    case 'twitter_pull':
+      //overides and disables the default block title
+      $form['title'] = array(
+        '#value' => ''
+      );
+
+      $form['twitter_title'] = array(
+        '#type' => 'textfield',
+        '#title'=> t('Twitter Title'),
+        '#default_value' => variable_get('twitter_pull_title','Twitter Updates'),
+        '#description' => t("Enter a title for twitter feed (optional)"),
+        '#size' => 60,  
+      );
+      $form['twitter_username'] = array(
+        '#type' => 'textfield',
+        '#title'=> t('Twitter Username'),
+        '#default_value' => variable_get('twitter_pull_username',''),
+        '#description'  => t("Enter the twitter username here. Either a username prepended with @, a hashtag prepended with # or a search term."),
+        '#size'  => 60,
+      );
+      $form['twitter_numitems'] = array(
+        '#type' => 'textfield',
+        '#title'=> t('Number of Items'),
+        '#default_value' => variable_get('twitter_pull_numitems',''),
+        '#description' => t("The number of tweets to display"),
+        '#size' => 2,  
+      );
+      break; // end $delta = 'twitter_pull'
+    } // switch $delta
+    return $form;
+    break;  // end configure
+
+  case 'save':
+    switch ($delta) {
+    case 'twitter_pull':
+      variable_set('twitter_pull_username', $edit['twitter_username']);
+      variable_set('twitter_pull_title',$edit['twitter_title']);
+      variable_set('twitter_pull_numitems',$edit['twitter_numitems']);     
+      break;
+    } // switch $delta
+    return;
+    break; // end save
+
+  case 'view':
+    switch ($delta) {
+    case 'twitter_pull':
+    // The subject is displayed at the top of the block.
+      $title = variable_get('twitter_pull_title','');
+      $twitkey = variable_get('twitter_pull_username','');
+      $num_items = variable_get('twitter_pull_numitems','');
+      $block['content'] = twitter_pull_render($twitkey, $title, $num_items);
+      return $block;
+      break; // $delta = twitter_pull
+    }  // end switch $delta
+    break; // end $op = view
+  } // end switch $op
+}
