         createdAt : -1
 
     {CActivity}   = KD.remote.api
-    options.feedType = @feedType
-
-    if options.facets is activityTypes
-      options.facets = ['Everything']
-
-    if @feedType is "Public"
-      options.groupId = KD.getSingleton("groupsController").getCurrentGroup().getId()
-
-      @fetchActivitiesFromCache options, callback
+    if KD.config.useNeo4j
+      options.feedType = @feedType
+
+      if options.facets is activityTypes
+        options.facets = ['Everything']
+
+      if @feedType is "Public"
+        options.groupId = KD.getSingleton("groupsController").getCurrentGroup().getId()
+        CActivity.fetchPublicContents options, callback
+      else
+        CActivity.fetchFolloweeContents options, callback
+
     else
-      CActivity.fetchFolloweeContents options, callback
+      @isExempt (exempt)->
+        options.lowQuality = exempt
+        CActivity.fetchFacets options, (err, activities)->
+          if err
+            callback err
+          else if not exempt
+            KD.remote.reviveFromSnapshots clearQuotes(activities), callback
+          else
+            # trolls and admins in show troll mode will load data on request
+            # as the snapshots do not include troll comments
+            stack = activities.map (activity)-> (cb)->
+              activity.fetchTeaser (err, teaser)->
+                if err then console.warn 'could not fetch teaser'
+                else cb err, teaser
+                stack.fin()
+              , yes
+
+            dash stack, (err, res)->
+              callback null, res
 
   # Fetches activities that occured after the first entry in user feed,
   # used for minor disruptions.

        log "fetchSomeActivities timeout reached"

  fetchCachedActivity:(options = {}, callback)->
    options.timestamp or= options.to
    options.groupName   = KD.getSingleton("groupsController").getCurrentGroup()?.slug or "koding"
    options.facets      = @getFilter()

    KD.remote.api.CStatusActivity.fetchPublicActivityFeed options, (err, result)=>
      result.overview.reverse() if result?.overview
      return callback err, result

  continueLoadingTeasers:->
    # fix me

    KD.time "Activity fetch took - "
    options = to : options.to or Date.now()

    @fetchCachedActivity options, (err, cache)=>
      @isLoading = no
      if err or cache.length is 0
        warn err  if err
        @listController.hideLazyLoader()
        @listController.showNoItemWidget()
      else
        @extractCacheTimeStamps cache
        @sanitizeCache cache, (err, cache)=>
          @listController.hideLazyLoader()
          @listController.listActivitiesFromCache cache

  fetchActivitiesFromCache:(options = {})->
    @fetchCachedActivity options, (err, cache)=>
