diff --git a/MediaVimeoStreamWrapper.inc b/MediaVimeoStreamWrapper.inc
index accf00b..68c1c3d 100644
--- a/MediaVimeoStreamWrapper.inc
+++ b/MediaVimeoStreamWrapper.inc
@@ -22,8 +22,12 @@ class MediaVimeoStreamWrapper extends MediaReadOnlyStreamWrapper {
 
   //@TODO: Check Vimeo URL Path
   function getOriginalThumbnailPath() {
+    $video_properties = array();
+
     $parts = $this->get_parameters();
-    return 'http://img.vimeo.com/vi/'. check_plain($parts['v']) .'/0.jpg';
+    $video_properties = $this->getVideoProperties(check_plain($parts['v']));
+
+    return $video_properties[0]['thumbnail_small'];
   }
 
   function getLocalThumbnailPath() {
@@ -36,4 +40,16 @@ class MediaVimeoStreamWrapper extends MediaReadOnlyStreamWrapper {
     }
     return $local_path;
   }
+
+  /**
+   *  Ref: http://vimeo.com/api/docs/simple-api
+   *  Example of Vimeo simple API 2 request for video properties:
+   *  http://vimeo.com/api/v2/video/xxx.php
+   *  This request returns a serialized array.
+   */
+  function getVideoProperties($video_id) {
+    $response = drupal_http_request($this->base_url . '/api/v2/video/'. $video_id .'.php');
+    return unserialize($response->data);
+  }
+
 }
diff --git a/includes/MediaInternetVimeoHandler.inc b/includes/MediaInternetVimeoHandler.inc
deleted file mode 100644
index 9a8ae24..0000000
--- a/includes/MediaInternetVimeoHandler.inc
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/**
- * @file media_vimeo/includes/MediaInternetVimeoHandler.inc
- *
- * A definition of the MediaInternetVimeoHandler class for Media: Vimeo.
- */
-
-class MediaInternetVimeoHandler extends MediaInternetBaseHandler {
-  public function claim($embedCode) {
-    if (media_vimeo_media_parse($embedCode)) {
-      return TRUE;
-    }
-  }
-
-  public function validate() {
-    // @todo Media module currently fails when two files try to have the same
-    //   URI, so catch that in the validation step. Some day, it would be nice
-    //   to allow it, however. See http://drupal.org/node/952422.
-    $uri = media_vimeo_media_parse($this->embedCode);
-    $existing_files = file_load_multiple(array(), array('uri' => $uri));
-    if (count($existing_files)) {
-      throw new MediaInternetValidationException(t('You have entered a URL for a video that is already in your library.'));
-    }
-  }
-
-  public function save() {
-    $file = $this->getFileObject();
-    file_save($file);
-    return $file;
-  }
-
-  public function getFileObject() {
-    $uri = media_vimeo_media_parse($this->embedCode);
-    //@todo: this is terribly broken in some ways because the function is really
-    // made for local files which are 'real'
-    return file_uri_to_object($uri);
-  }
-}
diff --git a/includes/MediaVimeoStreamWrapper.inc b/includes/MediaVimeoStreamWrapper.inc
deleted file mode 100644
index f014914..0000000
--- a/includes/MediaVimeoStreamWrapper.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/**
- *  @file
- *  Create a Vimeo Stream Wrapper class for the Media/Resource module.
- */
-
-/**
- *  Create an instance like this:
- *  $vimeo = new MediaVimeoStreamWrapper('vimeo://?v=[video-code]');
- */
-class MediaVimeoStreamWrapper extends MediaReadOnlyStreamWrapper {
-  protected $base_url = 'http://vimeo.com/';
-
-  function getTarget($f) {
-    return FALSE;
-  }
-
-  static function getMimeType($uri, $mapping = NULL) {
-    return 'video/vimeo';
-  }
-}
diff --git a/includes/media_vimeo.variables.inc b/includes/media_vimeo.variables.inc
index 11c4da7..4a6e648 100644
--- a/includes/media_vimeo.variables.inc
+++ b/includes/media_vimeo.variables.inc
@@ -2,39 +2,20 @@
 
 /**
  * @file media_vimeo/includes/media_vimeo.variables.inc
- * Contains the variables and defaults used by Media: Vimeo.
+ * Variable defaults for Media: Vimeo.
  */
 
 /**
- * The variable namespace for Media: Vimeo.
+ * Define our constants.
  */
-define('MEDIA_VIMEO_NAMESPACE', 'media_vimeo__');
-
-/**
- * This is the main URL for Vimeo.
- */
-define('MEDIA_VIMEO_MAIN_URL', 'http://vimeo.com/');
 
 /**
- * This is the URL to the API of Vimeo.
+ * This is the variable namespace, automatically prepended to module variables.
  */
-define('MEDIA_VIMEO_API_INFO', 'http://vimeo.com/api');
-
-/**
- * This defines the version of the content data array that we serialize
- * in data(). If we change the expected keys of that array,
- * we must increment this value, which will allow older content to be updated
- * to the new version automatically.
- */
-define('MEDIA_VIMEO_DATA_VERSION', 2);
-
-/**
- * These are player defaults. @TODO: Use variable namespace instead.
- */
-define('MEDIA_VIMEO_COLOR_DEFAULT', '#01AAEA');
+define('MEDIA_VIMEO_NAMESPACE', 'media_vimeo__');
 
 /**
- * Wrapper for variable_get() that uses the Media: Vimeo variable registry.
+ * Wrapper for variable_get() using the Media: Vimeo variable registry.
  *
  * @param string $name
  *  The variable name to retrieve. Note that it will be namespaced by
@@ -53,17 +34,18 @@ define('MEDIA_VIMEO_COLOR_DEFAULT', '#01AAEA');
  */
 function media_vimeo_variable_get($name, $default = NULL) {
   // Allow for an override of the default.
-  // Useful when a variable is required (like $path), but namespacing still desired.
+  // Useful when a variable is required (like $path), but namespacing is still
+  // desired.
   if (!isset($default)) {
     $default = media_vimeo_variable_default($name);
   }
-  // Namespace all variables
+  // Namespace all variables.
   $variable_name = MEDIA_VIMEO_NAMESPACE . $name;
   return variable_get($variable_name, $default);
 }
 
 /**
- * Wrapper for variable_set() that uses the Media: Vimeo variable registry.
+ * Wrapper for variable_set() using the Media: Vimeo variable registry.
  *
  * @param string $name
  *  The variable name to set. Note that it will be namespaced by
@@ -84,7 +66,7 @@ function media_vimeo_variable_set($name, $value) {
 }
 
 /**
- * Wrapper for variable_del() that uses the Media: Vimeo variable registry.
+ * Wrapper for variable_del() using the Media: Vimeo variable registry.
  *
  * @param string $name
  *  The variable name to delete. Note that it will be namespaced by
@@ -119,16 +101,11 @@ function media_vimeo_variable_default($name = NULL) {
 
   if (!isset($defaults)) {
     $defaults = array(
-      'color_override' => FALSE,
-      'color' => MEDIA_VIMEO_COLOR_DEFAULT,
-      'on_screen_info' => array('portrait', 'title', 'byline'),
-      'full_screen' => 1,
-      'api_key' => '',
-      'api_secret' => '',
-      'thumb_size' => '160',
-      'default_width' => 400,
-      'default_height' => 227,
-      'universal' => TRUE,
+      'width' => 560,
+      'height' =>340,
+      'autoplay' => FALSE,
+      'fullscreen' => TRUE,
+      'preview_uri' => 'vimeo://21869117',
     );
   }
 
diff --git a/includes/themes/media_vimeo.theme.inc b/includes/themes/media_vimeo.theme.inc
index 910c988..4a8f46d 100644
--- a/includes/themes/media_vimeo.theme.inc
+++ b/includes/themes/media_vimeo.theme.inc
@@ -28,18 +28,18 @@ function media_vimeo_preprocess_media_vimeo_video(&$variables) {
   // For users with JavaScript, these object and embed tags will be replaced
   // by an iframe, so that we can support users without Flash.
   $variables['output'] = '<object width="' . $variables['width'] . '" height="' . $variables['height'] . '">';
-  $variables['output'] .= '<param name="movie" value="http://www.vimeo.com/v/' . $variables['video_id'] . '&autoplay=' . $variables['autoplay'] . '"></param>';
+  $variables['output'] .= '<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=' . $variables['video_id'] . '&autoplay=' . $variables['autoplay'] . '"></param>';
   $variables['output'] .= '<param name="allowFullScreen" value="' . $variables['fullscreen'] . '"></param>';
   $variables['output'] .= '<param name="wmode" value="transparent" />';
-  $variables['output'] .= '<embed src="http://www.vimeo.com/v/' . $variables['video_id'] .'" type="application/x-shockwave-flash" width="' . $variables['width'] . '" height="' . $variables['height'] . '" allowfullscreen="' . $variables['fullscreen'] . '"></embed>';
+  $variables['output'] .= '<embed src="http://vimeo.com/moogaloop.swf?clip_id=' . $variables['video_id'] .'" type="application/x-shockwave-flash" width="' . $variables['width'] . '" height="' . $variables['height'] . '" allowfullscreen="' . $variables['fullscreen'] . '"></embed>';
   $variables['output'] .= '</object>';
 
   $variables['output'] = <<<OUTPUT
     <object width="{$variables['width']}" height="{$variables['height']}">
-      <param name="movie" value="http://www.vimeo.com/v/{$variables['video_id']}"></param>
+      <param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id={$variables['video_id']}"></param>
       <param name="allowFullScreen" value="{$variables['fullscreen']}"></param>
       <param name="wmode" value="transparent" />
-      <embed src="http://www.vimeo.com/v/{$variables['video_id']}" type="application/x-shockwave-flash" width="{$variables['width']}" height="{$variables['height']}" allowfullscreen="{$variables['fullscreen']}"></embed>';
+      <embed src="http://vimeo.com/moogaloop.swf?clip_id={$variables['video_id']}" type="application/x-shockwave-flash" width="{$variables['width']}" height="{$variables['height']}" allowfullscreen="{$variables['fullscreen']}"></embed>';
     </object>
 OUTPUT;
 
diff --git a/includes/vimeo-logo.png b/includes/vimeo-logo.png
deleted file mode 100644
index 1a49ba9..0000000
Binary files a/includes/vimeo-logo.png and /dev/null differ
diff --git a/media_vimeo.info b/media_vimeo.info
index fa8785e..685358d 100644
--- a/media_vimeo.info
+++ b/media_vimeo.info
@@ -1,9 +1,10 @@
+
 name = Media: Vimeo
 description = Provides Vimeo support to the Media module.
-package = Media
+package = "Media"
 core = 7.x
 files[] = media_vimeo.module
-files[] = includes/MediaVimeoStreamWrapper.inc
-files[] = includes/MediaInternetVimeoHandler.inc
-dependencies[] = media
+files[] = MediaVimeoStreamWrapper.inc
+files[] = media_vimeo.admin.inc
+files[] = includes/media_vimeo.styles.inc
 dependencies[] = media_internet
diff --git a/media_vimeo.module b/media_vimeo.module
index 3e13e80..ae070d1 100644
--- a/media_vimeo.module
+++ b/media_vimeo.module
@@ -1,18 +1,19 @@
 <?php
 
 /**
- * @file
- * The Media: Vimeo module offers support for the Vimeo media provider.
+ *  @file media_vimeo/media_vimeo.module
  *
- * This module creates a stream wrapper for the Vimeo video provider at
- * http://vimeo.com/. It also bridges with the Media module, so that videos
- * can be entered in Media fields or inline using WYSIWYG.
+ *  Media: Vimeo provides a stream wrapper and formatters for videos provided
+ *  by Vimeo, available at http://vimeo.com/.
+ *
+ *  @TODO:
+ *  Tie in Vimeo API.
+ *  Allow editors to search for videos to display on the browser.
+ *  Allow editors to put in a vimeo username to display on the browser.
+ *  Allow editors to log in w/ their credentials.
+ *  Allow editors to upload videos to Vimeo.
  */
 
-/* ***************************************** */
-/* INCLUDES                                  */
-/* ***************************************** */
-
 // A registry of variable_get defaults.
 include_once('includes/media_vimeo.variables.inc');
 
@@ -30,6 +31,196 @@ function media_vimeo_stream_wrappers() {
   );
 }
 
+function media_vimeo_media_format_form_prepare_alter(&$form, &$form_state, $media) {
+  $settings = array('autosubmit' => ($media->type == "video"));
+  drupal_add_js(array('media_format_form' => $settings), 'setting');
+}
+
+/**
+ *  Implements hook_theme().
+ */
+function media_vimeo_theme($existing, $type, $theme, $path) {
+  return array(
+    'media_vimeo_preview_style' => array(
+      'variables' => array('style_name' => NULL),
+      'file' => 'media_vimeo.theme.inc',
+      'path' => $path . '/includes/themes',
+    ),
+    'media_vimeo_field_formatter_styles' => array(
+      'variables' => array('element' => NULL, 'style' => NULL),
+      'file' => 'media_vimeo.theme.inc',
+      'path' => $path . '/includes/themes',
+    ),
+    'media_vimeo_video' => array(
+      'variables' => array('uri' => NULL, 'width' => NULL, 'height' => NULL, 'autoplay' => NULL, 'fullscreen' => NULL),
+      'file' => 'media_vimeo.theme.inc',
+      'path' => $path . '/includes/themes',
+      'template' => 'media-vimeo-video',
+    ),
+    'media_vimeo_embed' => array(
+      'variables' => array('style_name' => NULL, 'uri' => NULL, 'alt' => NULL, 'title' => NULL),
+      'file' => 'media_vimeo.theme.inc',
+      'path' => $path . '/includes/themes',
+    ),
+    'media_vimeo_styles' => array(
+      'variables' => array('element' => NULL, 'style' => NULL),
+      'file' => 'media_vimeo.theme.inc',
+      'path' => $path . '/includes/themes',
+    ),
+  );
+}
+
+/**
+ * Implementation of Styles module hook_styles_register().
+ */
+function media_vimeo_styles_register() {
+  return array(
+    'MediaVimeoStyles' => array(
+      'field_types' => 'file',
+      'name' => t('MediaVimeo'),
+      'description' => t('Media Vimeo styles.'),
+      'path' => drupal_get_path('module', 'media_vimeo') .'/includes',
+      'file' => 'media_vimeo.styles.inc',
+    ),
+  );
+}
+
+/**
+ *  Implements hook_styles_containers(). (Deprecated in version 2)
+ */
+function media_vimeo_styles_containers() {
+  return array(
+    'file' => array(
+      'containers' => array(
+        'media_vimeo' => array(
+          'label' => t('Vimeo Styles'),
+          'data' => array(
+            'streams' => array(
+              'vimeo',
+            ),
+            'mimetypes' => array(
+              'video/vimeo',
+            ),
+          ),
+          'weight' => 0,
+          'filter callback' => 'media_vimeo_formatter_filter',
+          'themes' => array(
+            'field_formatter_styles' => 'media_vimeo_field_formatter_styles',
+            'styles' => 'media_vimeo_styles',
+            'preview' => 'media_vimeo_preview_style',
+          ),
+          'description' => t('Vimeo Styles will display embedded Vimeo videos and thumbnails to your choosing, such as by resizing, setting colors, and autoplay. You can !manage.', array('!manage' => l(t('manage your Vimeo styles here'), 'admin/config/media/media-vimeo-styles'))),
+        ),
+      ),
+    ),
+  );
+}
+
+function media_vimeo_formatter_filter($variables) {
+  if (isset($variables['object'])) {
+    $object = $variables['object'];
+    return (file_uri_scheme($object->uri) == 'vimeo') && ($object->filemime == 'video/vimeo');
+  }
+}
+
+/**
+ * Implementation of the File Styles module's hook_file_styles_filter().
+ */
+function media_vimeo_file_styles_filter($object) {
+  if ((file_uri_scheme($object->uri) == 'vimeo') && ($object->filemime == 'video/vimeo')) {
+    return 'media_vimeo';
+  }
+}
+
+/**
+ *  Implements hook_styles_styles().
+ */
+function media_vimeo_styles_styles() {
+  $styles = array(
+    'file' => array(
+      'containers' => array(
+        'media_vimeo' => array(
+          'styles' => array(
+            'vimeo_thumbnail' => array(
+              'name' => 'vimeo_thumbnail',
+              'effects' => array(
+                array('label' => t('Thumbnail'), 'name' => 'thumbnail', 'data' => array('thumbnail' => 1)),
+                array('label' => t('Resize'), 'name' => 'resize', 'data' => array('width' => 100, 'height' => 75)),
+              ),
+            ),
+            'vimeo_preview' => array(
+              'name' => 'vimeo_preview',
+              'effects' => array(
+                array('label' => t('Autoplay'), 'name' => 'autoplay', 'data' => array('autoplay' => 1)),
+                array('label' => t('Resize'), 'name' => 'resize', 'data' => array('width' => 220, 'height' => 165)),
+              ),
+            ),
+            'vimeo_full' => array(
+              'name' => 'vimeo_full',
+              'effects' => array(
+                array('label' => t('Autoplay'), 'name' => 'autoplay', 'data' => array('autoplay' => 0)),
+                array('label' => t('Resize'), 'name' => 'resize', 'data' => array('width' => 640, 'height' => 480)),
+                array('label' => t('Full screen'), 'name' => 'fullscreen', 'data' => array('fullscreen' => 1)),
+              ),
+            ),
+          ),
+        ),
+      ),
+    ),
+  );
+
+  // Allow any image style to be applied to the thumbnail.
+  foreach (image_styles() as $style_name => $image_style) {
+    $styles['file']['containers']['media_vimeo']['styles']['vimeo_thumbnail_' . $style_name] = array(
+      'name' => 'vimeo_thumbnail_' . $style_name,
+      'image_style' => $style_name,
+      'effects' => array(
+        array('label' => t('Thumbnail'), 'name' => 'thumbnail', 'data' => array('thumbnail' => 1)),
+      ),
+    );
+  }
+
+  return $styles;
+}
+
+/**
+ *  Implements hook_styles_presets().
+ */
+function media_vimeo_styles_presets() {
+  $presets = array(
+    'file' => array(
+      'square_thumbnail' => array(
+        'media_vimeo' => array(
+          'vimeo_thumbnail_square_thumbnail',
+        ),
+      ),
+      'thumbnail' => array(
+        'media_vimeo' => array(
+          'vimeo_thumbnail',
+        ),
+      ),
+      'small' => array(
+        'media_vimeo' => array(
+          'vimeo_preview',
+        ),
+      ),
+      'large' => array(
+        'media_vimeo' => array(
+          'vimeo_full',
+        ),
+      ),
+      'original' => array(
+        'media_vimeo' => array(
+          'vimeo_full',
+        ),
+      ),
+    ),
+  );
+  return $presets;
+}
+
+
+
 /**
  *  Implements hook_media_parse().
  *
@@ -38,7 +229,7 @@ function media_vimeo_stream_wrappers() {
  */
 function media_vimeo_media_parse($url, $options = array()) {
   $scheme = 'vimeo://';
-  preg_match('@vimeo\.com/([0-9]+)@', $url, $matches);
+  preg_match('@vimeo\.com/([^"\& ]+)@i', $url, $matches);
   if (isset($matches[1])) {
     return file_stream_wrapper_uri_normalize($scheme . 'v/' . $matches[1]);
   }
@@ -53,7 +244,79 @@ function media_vimeo_media_internet_providers() {
   return array(
     'MediaInternetVimeoHandler' => array(
       'title' => 'vimeo',
-      'image' => "$path/includes/vimeo-logo.png",
+      'image' => $path . '/images/stream-vimeo.png'
     ),
   );
 }
+
+class MediaInternetVimeoHandler extends MediaInternetBaseHandler {
+  public function claim($embedCode) {
+    if (media_vimeo_media_parse($embedCode)) {
+      return TRUE;
+    }
+  }
+
+  public function validate() {
+    // @todo Media module currently fails when two files try to have the same
+    //   URI, so catch that in the validation step. Some day, it would be nice
+    //   to allow it, however. See http://drupal.org/node/952422.
+    $uri = media_vimeo_media_parse($this->embedCode);
+    $existing_files = file_load_multiple(array(), array('uri' => $uri));
+    if (count($existing_files)) {
+      throw new MediaInternetValidationException(t('You have entered a URL for a video that is already in your library.'));
+    }
+  }
+
+  public function save() {
+    $file = $this->getFileObject();
+    file_save($file);
+    return $file;
+  }
+
+  public function getFileObject() {
+    $uri = media_vimeo_media_parse($this->embedCode);
+    //@todo: this is terribly broken in some ways because the function is really
+    // made for local files which are 'real'
+    return file_uri_to_object($uri);
+  }
+
+  /**
+   * Returns information about the media. See http://video.search.yahoo.com/mrss.
+   *
+   * @return
+   *   If ATOM+MRSS information is available, a SimpleXML element containing
+   *   ATOM and MRSS elements, as per those respective specifications.
+   *
+   * @todo Would be better for the return value to be an array rather than a
+   *   SimpleXML element, but media_retrieve_xml() needs to be upgraded to
+   *   handle namespaces first.
+   */
+  public function getMRSS() {
+    $uri = media_vimeo_media_parse($this->embedCode);
+    $video_id = arg(1, file_uri_target($uri));
+    //@TODO: This is still the youtube format, Vimeo's fe
+    $rss_url = url('http://gdata.vimeo.com/feeds/api/videos/' . $video_id, array('query' => array('v' => '2')));
+    // @todo Use media_retrieve_xml() once it's upgraded to include elements
+    //   from all namespaces, not just the document default namespace.
+    $entry = simplexml_load_file($rss_url);
+    return $entry;
+  }
+
+  /**
+   * Returns information about the media. See http://www.oembed.com/.
+   *
+   * @return
+   *   If oEmbed information is available, an array containing 'title', 'type',
+   *   'url', and other information as specified by the oEmbed standard.
+   *   Otherwise, NULL.
+   */
+  public function getOEmbed() {
+    $uri = media_vimeo_media_parse($this->embedCode);
+    $external_url = drupal_realpath($uri);
+    $oembed_url = url('http://www.vimeo.com/oembed', array('query' => array('url' => $external_url, 'format' => 'json')));
+    $response = drupal_http_request($oembed_url);
+    if (!isset($response->error)) {
+      return drupal_json_decode($response->data);
+    }
+  }
+}
diff --git a/themes/media-vimeo-flash.tpl.php b/themes/media-vimeo-flash.tpl.php
deleted file mode 100644
index cc5b170..0000000
--- a/themes/media-vimeo-flash.tpl.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/**
- * @file media_vimeo/themes/media-vimeo-universal.tpl.php
- *
- * The template file for theme('media_vimeo_universal').
- *
- * This will display an iFrame including an HTML5 version of the video.
- *
- * Available variables:
- *  $data => The URL for the data flash parameter.
- *  $video_code => The Vimeo video ID.
- *  $width => The width of the video display.
- *  $height => The height of the video display.
- *  $fullscreen => Either 1 or 0, for full screen availability.
- *  $show_title => Either 1 or 0, to display the video title.
- *  $show_byline => Either 1 or 0, to display the video creator's byline.
- *  $show_portrait => Either 1 or 0, to display the video creator's portrait.
- *  $color => The hexcode of the color to display, without a #.
- *  $autoplay => Either 1 or 0, determining whether to autoplay the video.
- */
-?>
-<?php if ($video_code) : ?>
-  <object type="application/x-shockwave-flash" width="<?php print $width; ?>" height="<?php print $height; ?>" data="<?php print $data; ?>">
-    <param name="quality" value="best" />
-    <param name="wmode" value="transparent" />
-    <param name="allowfullscreen" value="<?php print ($fullscreen ? 'true' : 'false'); ?>" />
-    <param name="scale" value="showAll" />
-    <param name="movie" value="<?php print $data; ?>" /></object>
-<?php endif; ?>
diff --git a/themes/media-vimeo-universal.tpl.php b/themes/media-vimeo-universal.tpl.php
deleted file mode 100644
index b0386df..0000000
--- a/themes/media-vimeo-universal.tpl.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/**
- * @file media_vimeo/themes/media-vimeo-universal.tpl.php
- *
- * The template file for theme('media_vimeo_universal').
- *
- * This will display an iFrame including an HTML5 version of the video.
- *
- * Available variables:
- *  $iframe_url => The URL of the iFrame source.
- *  $video_code => The Vimeo video ID.
- *  $width => The width of the video display.
- *  $height => The height of the video display.
- *  $fullscreen => Either 1 or 0, for full screen availability.
- *  $show_title => Either 1 or 0, to display the video title.
- *  $show_byline => Either 1 or 0, to display the video creator's byline.
- *  $show_portrait => Either 1 or 0, to display the video creator's portrait.
- *  $color => The hexcode of the color to display, without a #.
- *  $autoplay => Either 1 or 0, determining whether to autoplay the video.
- */
-?>
-<?php if ($iframe_url) : ?>
-  <iframe src="<?php print $iframe_url; ?>" width="<?php print $width; ?>" height="<?php print $height; ?>" frameborder="0"></iframe>
-<?php endif; ?>
diff --git a/themes/media-vimeo.tpl.php b/themes/media-vimeo.tpl.php
deleted file mode 100644
index 17f0451..0000000
--- a/themes/media-vimeo.tpl.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-/**
- * @file media_vimeo/themes/media-vimeo.tpl.php
- *
- * The template file for theme_media_vimeo.
- *
- * The output for this will be determined by either
- * theme('media_vimeo_universal') or theme('media_vimeo_flash').
- */
-?>
-<div id="media-vimeo-<?php print $id; ?>" class="media-vimeo">
-  <?php print $output; ?>
-</div>
diff --git a/themes/media_vimeo.theme.inc b/themes/media_vimeo.theme.inc
deleted file mode 100644
index d579e9a..0000000
--- a/themes/media_vimeo.theme.inc
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/**
- * @file media_vimeo/themes/media_vimeo.theme.inc
- * Theme functions for Media: Vimeo.
- */
-
-function template_preprocess_media_vimeo(&$variables) {
-  _media_vimeo_options($variables);
-  $variables['width'] = isset($variables['width']) ? $variables['width'] : media_vimeo_variable_get('default_width');
-  $variables['height'] = isset($variables['height']) ? $variables['height'] : media_vimeo_variable_get('default_height');
-  $variables['fullscreen'] = isset($variables['fullscreen']) ? $variables['fullscreen'] : media_vimeo_variable_get('full_screen');
-  $variables['on_screen_info'] = isset($variables['on_screen_info']) ? $variables['on_screen_info'] : media_vimeo_variable_get('on_screen_info');
-  $variables['show_portrait'] = isset($variables['show_portrait']) ? $variables['show_portrait'] : ($variables['on_screen_info']['portrait'] ? 1 : 0);
-  $variables['show_title'] = isset($variables['show_title']) ? $variables['show_title'] : ($variables['on_screen_info']['title'] ? 1 : 0);
-  $variables['show_byline'] = isset($variables['show_byline']) ? $variables['show_byline'] : ($variables['on_screen_info']['byline'] ? 1 : 0);
-  $variables['color_override'] = isset($variables['color_override']) ? $variables['color_override'] : media_vimeo_variable_get('color_override');
-  if ($variables['color_override']) {
-    $variables['color'] = isset($variables['color']) ? $variables['color'] : _media_vimeo_convert_color();
-  }
-
-  $variables['format'] = media_vimeo_variable_get('universal') ? 'universal' : 'flash';
-  $variables['output'] = theme('media_vimeo_' . $variables['format'], $variables['video_code'], $variables);
-}
-
-/**
- * The embedded flash displaying the Vimeo video.
- */
-function template_preprocess_media_vimeo_flash(&$variables) {
-  _media_vimeo_options($variables);
-  if ($variables['video_code']) {
-    $variables['clip_id'] = $variables['video_code'];
-    $variables['query'] = isset($variables['query']) ? $variables['query'] : array(
-      'clip_id' => $variables['video_code'],
-      'server' => 'www.vimeo.com',
-    );
-    foreach (array('fullscreen', 'show_title', 'show_byline', 'show_portrait', 'color', 'autoplay') as $key) {
-      if (isset($variables[$key])) {
-        $variables['query'][$key] = $variables[$key];
-      }
-    }
-    $variables['data'] = url('http://www.vimeo.com/moogaloop.swf', array('query' => $variables['query']));
-  }
-}
-
-/**
- * Display the video in an iFrame with HTML5.
- */
-function template_preprocess_media_vimeo_universal(&$variables) {
-  _media_vimeo_options($variables);
-  if ($variables['video_code']) {
-    $variables['query'] = isset($variables['query']) ? $variables['query'] : array();
-    foreach (array('fullscreen', 'show_title', 'show_byline', 'show_portrait', 'color', 'autoplay') as $key) {
-      if (isset($variables[$key])) {
-        $variables['query'][$key] = $variables[$key];
-      }
-    }
-    $variables['iframe_url'] = url('http://player.vimeo.com/video/' . $variables['video_code'], array('query' => $variables['query']));
-  }
-}
-
-/**
- * Strip any beginning #'s from the color hex code.
- */
-function _media_vimeo_convert_color($color = NULL) {
-  if (!isset($color)) {
-    $color = media_vimeo_variable_get('color');
-  }
-  if ($color{0} == '#') {
-    return substr($color, 1);
-  }
-  return $color;
-}
-
-function _media_vimeo_options(&$variables) {
-  foreach ($variables['options'] as $key => $value) {
-    $variables[$key] = $value;
-  }
-  unset($variables['options']);
-}
