diff --git a/markup.module b/markup.module
index c045ca0..ad63df8 100644
--- a/markup.module
+++ b/markup.module
@@ -6,6 +6,20 @@
  */
 
 /**
+ * Implementation of hook_field()
+ */
+function markup_field($op, &$node, $field, &$items, $teaser, $page) {
+  switch ($op) {
+    case 'load':
+      return array(
+        $field['field_name'] => array(
+          array('markup' => $field['markup']),
+        ),
+      );
+  }
+}
+
+/**
  * Implementation of hook_field_info().
  */
 function markup_field_info() {
@@ -147,10 +161,33 @@ function markup_theme() {
     'markup_element' => array(
       'arguments' => array('element' => NULL),
     ),
+    'markup_formatter_default' => array(
+      'arguments' => array('element' => NULL),
+    ),
   );
 }
 
 /**
+* Implementation of hook_field_formatter_info()
+*/
+function markup_field_formatter_info() {
+  return array(
+    'default' => array(
+      'label' => t('Default'),
+      'field types' => array('markup'),
+      'multiple values' => CONTENT_HANDLE_CORE,
+    ),
+  );
+}
+
+/**
+* Theme function for 'default' markup field formatter
+*/
+function theme_markup_formatter_default($element) {
+  return $element['#item']['markup'];
+}
+
+/**
  * Implementation of hook_content_multigroup_allowed_widgets().
  */
 function markup_content_multigroup_allowed_widgets() {
@@ -355,4 +392,4 @@ function markup_build_node($form, $form_state) {
   form_execute_handlers('submit', $form, $form_state);
   $node = node_submit($form_state['values']);
   return $node;
-}
\ No newline at end of file
+}
