     # define the shared client-server schema
     _.extend( @,
       _id: ''
+      author_id: ''
       parent_id: undefined
       content: ''
-      instance_id: ''
     )
     
-    for key in [ '_id', 'parent_id', 'content', 'instance_id' ]
+    for key in [ '_id', 'author_id', 'parent_id', 'content' ]
       @[key] = either[key] if either[key]?
        
 class ClientPost extends SharedPost

      @author_id = user_id
    else
      _.extend( @, post )

      # check if user added a new tag
      for tag of client.my_tags
        @tags[tag] ?= { weight: 0 }
        @tags[tag].users ?= []
        unless user_id in @tags[tag].users
          # apply the tag
          @tags[tag].users.push( user_id )

    for post in Posts.find( 'parent_id': server.parent_id ).fetch()
      for key of post.tags
        @suggested_tags.push( key ) unless key in @my_tags

class ServerPost extends SharedPost
  constructor: ( client ) ->
