diff --git a/entities.py b/entities.py
index 1837cce77178c2dadee3da35e4c86e8ba3515392_ZW50aXRpZXMucHk=..bf536a14d2eb8c0e2cea4d4f80c5562fe83201e2_ZW50aXRpZXMucHk= 100644
--- a/entities.py
+++ b/entities.py
@@ -44,9 +44,6 @@
         descr = u'%s %s' % (_('posted on'), self.format_date(self.creation_date))
         return descr
 
-    def isioc_item_creator(self):
-        return self.creator
-
-    def isioc_item_content(self):
+    def isioc_content(self):
         return self.content
 
@@ -51,5 +48,5 @@
         return self.content
 
-    def isioc_item_container(self):
+    def isioc_container(self):
         rset = self.related('entry_of')
         entity = rset.get_entity(0, 0)                  
@@ -54,16 +51,7 @@
         rset = self.related('entry_of')
         entity = rset.get_entity(0, 0)                  
-        return entity
-           
-    def isioc_item_get_reply(self):
-        pass
-
-    def isioc_item_creation_date(self):
-        return self.creation_date
-
-    def isioc_item_modification_date(self):
-        return self.modification_date
-
+        return entity          
+        
 class Blog(AnyEntity):
     """customized class for Blog entities"""
 
@@ -78,6 +66,6 @@
         rql = 'Any E ORDERBY D DESC WHERE E is BlogEntry, E entry_of X, X eid %s, E creation_date D' % self.eid
         return self.build_url(rql=rql, vid='rss', vtitle=self.dc_title())
 
-    def isioc_container_type(self):
+    def isioc_type(self):
         return 'Weblog'
        
@@ -82,7 +70,3 @@
         return 'Weblog'
        
-    def isioc_container_creation_date(self):
-        return self.creation_date
-        
-    def isioc_container_modification_date(self):
-        return self.modification_date
+   
diff --git a/views.py b/views.py
index 1837cce77178c2dadee3da35e4c86e8ba3515392_dmlld3MucHk=..bf536a14d2eb8c0e2cea4d4f80c5562fe83201e2_dmlld3MucHk= 100644
--- a/views.py
+++ b/views.py
@@ -21,8 +21,8 @@
 from cubicweb.web.views.calendar import MONTHNAMES
 from cubicweb.web.views.navigation import PageNavigation
 from cubicweb.web.htmlwidgets import BoxLink, BoxWidget
-from cubicweb.interfaces import IFeed, ISIOC
+from cubicweb.interfaces import ISiocItem, ISiocContainer
 
 
 class SIOCView(EntityView):
     id = 'sioc'
@@ -25,6 +25,7 @@
 
 
 class SIOCView(EntityView):
     id = 'sioc'
-    __selectors__ = (implement_interface,)
+    __selectors__ = EntityView.__selectors__ + (implement_interface,)
+    accepts_interfaces = (ISiocItem, ISiocContainer)
     title = _('sioc')
@@ -30,3 +31,2 @@
     title = _('sioc')
-    accepts = ('Blog', 'BlogEntry')
     templatable = False
@@ -32,5 +32,4 @@
     templatable = False
-    accepts_interfaces = (ISIOC,)
     content_type = 'text/xml'
     item_vid = 'sioc_item'
     
@@ -49,6 +48,10 @@
         self.w(u'</rdf:RDF>\n')
             
     def cell_call(self, row, col):
-        self.wview(self.item_vid, self.rset, row=row, col=col)
+        entity = self.complete_entity(row,col)
+        if entity.id =='BlogEntry':
+            self.wview(self.item_vid, self.rset, row=row, col=col)
+        else:
+            self.wview('sioc_container', self.rset, row=row, col=col)
 
 
@@ -53,7 +56,8 @@
 
 
-class SIOCBlogItemView(EntityView):
-    id = 'sioc_item'
-    accepts = ('Blog',)
+class SIOCBlogContainerView(EntityView):
+    id = 'sioc_container'
+    __selectors__ = EntityView.__selectors__ + (implement_interface,)
+    accepts_interfaces = (ISiocContainer,)
     templatable = False
     content_type = 'text/xml'
@@ -58,5 +62,6 @@
     templatable = False
     content_type = 'text/xml'
+    accepts = ('Blog',)
    
     def cell_call(self, row, col):
         entity = self.complete_entity(row, col)
@@ -60,11 +65,9 @@
    
     def cell_call(self, row, col):
         entity = self.complete_entity(row, col)
-        self.w(u' <sioc:Weblog rdf:about="%s">\n' % html_escape(entity.absolute_url()))
-        self.render_title_date(entity)
-        self.w(u'</sioc:Weblog>\n')
-
-    def render_title_date(self, entity):
+        self.w(u' <sioc:%s rdf:about="%s">\n' % (html_escape(entity.isioc_type()),
+                                                 html_escape(entity.absolute_url())))
+                                                 
         self.w(u'<dcterms:title>%s</dcterms:title>'% html_escape(unicode(entity.title)))
         self.w(u'<dcterms:created>%s</dcterms:created>'% entity.creation_date)
         self.w(u'<dcterms:modified>%s</dcterms:modified>' % entity.modification_date)
@@ -68,7 +71,9 @@
         self.w(u'<dcterms:title>%s</dcterms:title>'% html_escape(unicode(entity.title)))
         self.w(u'<dcterms:created>%s</dcterms:created>'% entity.creation_date)
         self.w(u'<dcterms:modified>%s</dcterms:modified>' % entity.modification_date)
-
-                  
-class SIOCItemView(SIOCBlogItemView):
+                      
+        self.w(u'</sioc:%s>\n' % entity.isioc_type())
+                 
+class SIOCItemView(SIOCBlogContainerView):
+    id ='sioc_item'
     accepts = ('BlogEntry',)
@@ -74,5 +79,7 @@
     accepts = ('BlogEntry',)
+    accepts_interfaces = (ISiocItem,)
+    
  
     def cell_call(self, row, col):
         entity = self.complete_entity(row, col)
         self.w(u' <sioc:Post rdf:about="%s">\n' % html_escape(entity.absolute_url()))
@@ -75,6 +82,8 @@
  
     def cell_call(self, row, col):
         entity = self.complete_entity(row, col)
         self.w(u' <sioc:Post rdf:about="%s">\n' % html_escape(entity.absolute_url()))
-        self.render_title_date(entity)
+        self.w(u'<dcterms:title>%s</dcterms:title>'% html_escape(unicode(entity.title)))
+        self.w(u'<dcterms:created>%s</dcterms:created>'% entity.creation_date)
+        self.w(u'<dcterms:modified>%s</dcterms:modified>' % entity.modification_date)
         if entity.content:
@@ -80,3 +89,3 @@
         if entity.content:
-            self.w(u'<sioc:content>%s</sioc:content>''' % html_escape(entity.content))        
+            self.w(u'<sioc:content>%s</sioc:content>''' % html_escape(entity.isioc_content()))        
         if entity.related('entry_of'):
@@ -82,7 +91,5 @@
         if entity.related('entry_of'):
-            rset = entity.related('entry_of')
-            entity = rset.get_entity(0, 0)                  
-            self.w(u'<sioc:has_contenainer rdf:resource="%s"/>\n' % html_escape(entity.absolute_url()))
+            self.w(u'<sioc:has_container rdf:resource="%s"/>\n' % html_escape(entity.isioc_container().absolute_url()))
         if entity.creator:
             foaf = entity.creator.view('foaf')
             self.w(u'<sioc:has_creator>\n')
@@ -86,8 +93,8 @@
         if entity.creator:
             foaf = entity.creator.view('foaf')
             self.w(u'<sioc:has_creator>\n')
-            self.w(u'<sioc:User rdf:about="%s">\n' % entity.creator.absolute_url())
-            self.w('%s' % foaf)
+            self.w(u'<sioc:User rdf:about="%s">\n' % entity.dc_creator().absolute_url())
+            self.w(foaf)
             self.w(u'</sioc:User>\n')
             self.w(u'</sioc:has_creator>\n')
         self.w(u' </sioc:Post>\n')    
@@ -245,7 +252,6 @@
         if title is None and not ('vtitle' in self.req.form or 'subvid' in kwargs):
             self.w(u'<h1>%s</h1>' % display_name(self.req, 'BlogEntry', form='plural'))
         super(BlogEntryListView, self).call(klass=klass, **kwargs)
-         
 
 class BlogEntryListItemView(baseviews.ListItemView):
     accepts = ('BlogEntry',)
@@ -316,3 +322,4 @@
 
     def index_display(self, start, stop):
         return u'%s' % (int(start / self.page_size)+1)
+