             discussionId: @discussion.id
             positionKey: {'$regex': "^#{event.positionKey}"}
           simplesort: 'positionKey'
-          limit: @padding
+          limit: limit || @padding
         remote:
           discussion_id: @discussion.id
           position_key_sw: event.positionKey
           depth_gt: event.depth
           order_by: 'position_key'
-          per: @padding
-
-  autoLoadBefore: (obj) ->
-    if obj.missingEarlierCount && obj.missingEarlierCount < @maxAutoLoadMore
-      @loadBefore(obj.event)
-
-  autoLoadChildren: (obj) ->
-    if obj.missingChildCount && (obj.missingChildCount < @maxAutoLoadMore)
-      @loadChildren(obj.event)
-
-  autoLoadAfter: (obj) ->
-    if (obj.event.depth == 1) || (obj.missingAfterCount && obj.missingAfterCount < @maxAutoLoadMore)
-      @loadAfter(obj.event)
-
-  loadAfter: (event) ->
-    @addLoadAfterRule(event)
-    @fetch()
-
-  addLoadAfterRule: (event) ->
+          per: limit || @padding
+
+  addLoadAfterRule: (event, limit = null) ->
     # keys = event.positionKey.split('-')
     # num = parseInt(keys[keys.length - 1]) + 1
     # key = "0".repeat(5 - (""+num).length) + num

        discussion_id: @discussion.id
        per: 1000

  loadChildren: (event) ->
    @loading = 'children'+event.id
    if event.kind == "new_discussion"
      @addRuleAndFetch

        position_key_gt: positionKey
        position_key_sw: positionKeyPrefix || null
        order_by: 'position_key'
        per: limit || @padding

  addLoadBeforeRule: (event, limit = nil) ->
    positionKeyPrefix = event.positionKey.split('-').slice(0,-1).join('-')
    @addRule
      name: "load before (prefix #{positionKeyPrefix})"
