diff --git a/nivo-slider-wrapper.tpl.php b/nivo-slider-wrapper.tpl.php
deleted file mode 100644
index 4362461..0000000
--- a/nivo-slider-wrapper.tpl.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/**
- * @file
- * Default theme implementation for displaying a banner.
- *
- * A banner wraps slides in HTML, which provides an anchor for the Nivo Slider
- * to target and create a slideshow with the appropriate settings and theming.
- *
- * Available variables:
- * - $theme: String containing the name of the currently active theme.
- * - $banners: String of HTML representing a banner.
- *
- * @see template_preprocess()
- * @see template_process()
- */
-?>
-<?php if ($banners): ?>
-  <div class="slider-wrapper theme-<?php print $theme; ?>">
-    <div class="ribbon"></div>
-    <div id="slider" class="nivoSlider">
-      <?php print $banners; ?>
-    </div>
-  </div>
-<?php endif; ?>
diff --git a/nivo_slider.module b/nivo_slider.module
index 68417d8..335197d 100755
--- a/nivo_slider.module
+++ b/nivo_slider.module
@@ -106,10 +106,16 @@ function nivo_slider_help($path, $arg) {
 /**
  * Implements hook_theme().
  */
-function nivo_slider_theme() {
+function nivo_slider_theme($existing, $type, $theme, $path) {
   return array(
     'nivo_slider_wrapper' => array(
+      'variables' => array(
+        'theme' => NULL,
+        'banners' => NULL,
+      ),
       'render element' => 'nivo_slider',
+      'file' => 'nivo_slider.theme.inc',
+      'path' => $path . '/themes',
       'template' => 'nivo-slider-wrapper',
     ),
   );
@@ -330,11 +336,3 @@ function nivo_slider_block_view($delta = '') {
   }
   return $block;
 }
-
-/**
- * Implements template_preprocess_hook().
- */
-function template_preprocess_nivo_slider_wrapper(&$variables) {
-  $variables['theme'] = variable_get('nivo_slider_theme', 'default');
-  $variables['banners'] = nivo_slider_banners_markup(nivo_slider_show_banners());
-}
