--- a/HelloForge/helloforge/model/wiki.py
+++ b/HelloForge/helloforge/model/wiki.py
@@ -1,96 +1,18 @@
-from datetime import datetime
-from time import sleep
+Quick Ming Example
+=========================
 
-from pylons import c
-import re
-import markdown
+Here is some sample code from a TG project that uses ming:: 
 
-import pymongo
-from pymongo.errors import OperationFailure
+    class Artifact(Document):
+        class __mongometa__:
+            session = ProjectSession(Session.by_name('main'))
+            name='artifact'
 
-from ming import schema as S
-from ming import Field
-
-from pyforge.model import Artifact, Message, User
-
-wikiwords = [
-    (r'\b([A-Z]\w+[A-Z]+\w+)', r'<a href="../\1/">\1</a>'),
-    (r'([^\\])\[(.*)\]', r'\1<a href="../\2/">\2</a>'),
-    (r'\\\[(.*)\]', r'[\1]'),
-    (r'^\[(.*)\]', r'<a href="../\1/">\1</a>'),
-    ]
-wikiwords = [
-    (re.compile(pattern), replacement)
-    for pattern, replacement in wikiwords ]
-
-class Page(Artifact):
-    class __mongometa__:
-        name='page'
-
-    title=Field(str)
-    version=Field(int, if_missing=0)
-    author_id=Field(S.ObjectId, if_missing=lambda:c.user._id)
-    timestamp=Field(S.DateTime, if_missing=datetime.utcnow)
-    text=Field(S.String, if_missing='')
-
-    @classmethod
-    def upsert(cls, title, version=None):
-        q = dict(
-            project_id=c.project._id,
-            title=title)
-        if version is not None:
-            q['version'] = version
-        versions = cls.m.find(q)
-        if not versions.count():
-            return cls.make(dict(
-                    project_id=c.project._id,
-                    title=title,
-                    text='',
-                    version=0))
-        latest = max(versions, key=lambda v:v.version)
-        new_obj=dict(latest, version=latest.version + 1)
-        del new_obj['_id']
-        del new_obj['author_id']
-        del new_obj['timestamp']
-        return cls.make(new_obj)
-
-    @classmethod
-    def history(cls, title):
-        history = cls.m.find(
-            dict(project_id=c.project._id, title=title))
-        history = history.sort('version', pymongo.DESCENDING)
-        return history
-
-    @property
-    def html_text(self):
-        md = markdown.Markdown(
-            extensions=['codehilite'],
-            output_format='html4'
-        )
-        content = md.convert(self.text)
-        for pattern, replacement in wikiwords:
-            content = pattern.sub(replacement, content)
-        return content
-
-    @property
-    def author(self):
-        return User.m.get(_id=self.author_id)
-    
-
-    def reply(self):
-        while True:
-            try:
-                c = Comment.make(dict(page_title=self.title))
-                c.m.insert()
-                return c
-            except OperationFailure:
-                sleep(0.1)
-                continue
-
-    def root_comments(self):
-        return Comment.m.find(dict(page_title=self.title, parent_id=None))
-
-class Comment(Message):
-    class __mongometa__:
-        name='comment'
-    page_title=Field(str)
+        # Artifact base schema
+        _id = Field(S.ObjectId)
+        project_id = Field(S.String, if_missing=lambda:c.project._id)
+        plugin_verson = Field(
+            S.Object,
+            { str: str },
+            if_missing=lambda:{c.app.config.name:c.app.__version__})
+        acl = Field({str:[str]})