diff --git sm2_plst_cck/sm2_plst_cck.module sm2_plst_cck/sm2_plst_cck.module
index 9f080a5..8149e7f 100644
--- sm2_plst_cck/sm2_plst_cck.module
+++ sm2_plst_cck/sm2_plst_cck.module
@@ -124,6 +124,7 @@
 function sm2_plst_cck_theme() {
   $formatters_filefield = array();
   $formatters_audio = array();
+  $formatters_link = array();
   if (module_exists('audio')) {
     $formatters_audio = array(
       'sm2_plst_cck_formatter_audio_sm2' => array(
@@ -148,7 +149,15 @@ function sm2_plst_cck_theme() {
       ),
     );
   }
-  $formatters = array_merge($formatters_filefield, $formatters_audio);
+  if (module_exists('link')) {
+    $formatters_link = array(
+      'sm2_plst_cck_formatter_link_sm2' => array(
+        'arguments' => array('element' => $element),
+        'template' => 'sm2_plst_cck_link',
+      ),
+    );
+  }
+  $formatters = array_merge($formatters_link, $formatters_filefield, $formatters_audio);
   return $formatters;
 }
 
@@ -165,6 +174,28 @@ function sm2_plst_cck_field_formatter_info() {
 
   $formatterinfo_filefield = array();
   $formatterinfo_audio = array();
+  $formatterinfo_link = array();
+  if (module_exists('link')) {
+    $formatterinfo_link = array(
+      // The machine name of the formatter.
+      'link_sm2' => array(
+        // The human-readable label shown on the Display 
+        // fields screen.
+        'label' => t('SoundManager 2, page-player style'),
+        // An array of the field types this formatter 
+        // can be used on.
+        'field types' => array('link'),
+        // CONTENT_HANDLE_CORE:   CCK will pass the formatter
+        // a single value.
+        // CONTENT_HANDLE_MODULE: CCK will pass the formatter
+        // an array of all the values. None of CCK's core 
+        // formatters use multiple values, that is an option
+        // available to other modules that want it.
+        //'multiple values' => CONTENT_HANDLE_CORE,
+        'multiple values' => CONTENT_HANDLE_MODULE,
+      ),
+    );
+  }
   if (module_exists('filefield')) {
     $formatterinfo_filefield = array(
       // The machine name of the formatter.
@@ -206,7 +237,7 @@ function sm2_plst_cck_field_formatter_info() {
       ),
     );
   }
-  $formatterinfo = array_merge($formatterinfo_filefield, $formatterinfo_audio);
+  $formatterinfo = array_merge($formatterinfo_link, $formatterinfo_filefield, $formatterinfo_audio);
   return $formatterinfo;
 
 }
diff --git sm2_plst_cck/sm2_plst_cck_link.tpl.php sm2_plst_cck/sm2_plst_cck_link.tpl.php
new file mode 100644
index 0000000..8de0ebe
--- /dev/null
+++ sm2_plst_cck/sm2_plst_cck_link.tpl.php
@@ -0,0 +1,62 @@
+<?php
+//$Id: $
+?>
+
+<?php // Add required js 
+require_once(drupal_get_path('module', 'soundmanager2') .'/players/page-player.inc');
+?>
+
+<div class="sm2_plst_cck-outer">
+  
+  <div>
+    <ul class="playlist">
+      <?php  // Initialise an array for results
+      //$files = array();
+      // Get the children
+      $children = element_children($element);
+      // Cycle through the file elements
+      foreach ($children as $key) {
+        // If the URL isn't there, do nothing
+        if (isset($element[$key]['#item']['url'])) {
+      ?>
+        <li>
+          <a href="<?php print $element[$key]['#item']['url'] ;?>">
+            <?php print ($element[$key]['#item']['display_title'] ? $element[$key]['#item']['display_title'] : $element[$key]['#item']['title'] ) ;?>
+          </a>
+          <div class="sm2-filelink">
+            <a class="exclude" href="<?php print $element[$key]['#item']['url'] ;?>">+Download</a>
+          </div>
+        </li>
+      <?php
+        }
+      }
+      ?>
+    </ul>
+    <div id="control-template">
+      <!-- control markup inserted dynamically after each link -->
+      <div class="controls">
+        <div class="statusbar">
+          <div class="loading"></div>
+          <div class="position"></div>
+        </div>
+      </div>
+      <div class="timing">
+        <div id="sm2_timing" class="timing-data">
+          <span class="sm2_position">%s1</span> / <span class="sm2_total">%s2</span></div>
+        </div>
+        <div class="peak">
+          <div class="peak-box">
+            <span class="l"></span>
+            <span class="r"></span>
+          </div>
+        </div>
+      </div>
+    
+      <div id="spectrum-container" class="spectrum-container">
+        <div class="spectrum-box">
+          <div class="spectrum"></div>
+        </div>
+      </div> 
+    
+  </div>
+</div>
