 											rowTop = itemTop
 									for row in rows
 										adjustRowHeight(row.appended, row.wrapper)
-									doAdjustment(rid, scrolling, finalize)
-							else
-								doAdjustment(rid, scrolling, finalize)
-
-						finalize = (rid, scrolling, newItems)->
-							adjustBuffer rid, scrolling, newItems, ->
+									doAdjustment(rid, finalize)
+							else
+								doAdjustment(rid, finalize)
+
+						finalize = (rid, newItems)->
+							adjustBuffer rid, newItems, ->
 								pending.shift()
 								if pending.length == 0
 									isLoading = false
 									loading(false)
 								else
-									fetch(rid, scrolling)
-
-						fetch = (rid, scrolling) ->
+									fetch(rid)
+
+						fetch = (rid) ->
 							direction = pending[0]
 							#log "Running fetch... #{{true:'bottom', false: 'top'}[direction]} pending #{pending.length}"
 							if direction
 								if buffer.length && !shouldLoadBottom()
-									finalize(rid, scrolling)
+									finalize(rid)
 								else
 									#log "appending... requested #{bufferSize} records starting from #{next}"
 									datasource.get next, bufferSize,

											for i in [result.length-1..0]
												newItems.unshift (insert --first, result[i])
											#log "prepended: requested #{bufferSize} received #{result.length} buffer size #{buffer.length} first #{first} next #{next}"
										finalize(rid, scrolling, newItems)

						resizeHandler = ->
							if !$rootScope.$$phase && !isLoading
								adjustBuffer(null, false) #todo dhilt : is null rid passing safe for resize, scroll, delete and insert cases?
								$scope.$apply()

						viewport.bind 'resize', resizeHandler

						scrollHandler = ->
							if !$rootScope.$$phase && !isLoading
								adjustBuffer(null, true)
								$scope.$apply()

						viewport.bind 'scroll', scrollHandler

						wheelHandler = (event) ->
							scrollTop = viewport[0].scrollTop

										topVisible(item) if newRow
										break

						adjustBuffer = (rid, newItems, finalize)->
							if newItems and newItems.length
								$timeout ->
									rows = []
