 											for item in result
 												newItems.push (insert ++next, item)
 											#log "appended: requested #{bufferSize} received #{result.length} buffer size #{buffer.length} first #{first} next #{next}"
-										finalize(rid, scrolling, newItems)
+										finalize(rid, newItems)
 							else
 								if buffer.length && !shouldLoadTop()
-									finalize(rid, scrolling)
+									finalize(rid)
 								else
 									#log "prepending... requested #{size} records starting from #{start}"
 									datasource.get first-bufferSize, bufferSize,

										topVisible(item) if newRow
										break

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

											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, newItems)

						resizeAndResizeHandler = ->
							if !$rootScope.$$phase && !isLoading
								adjustBuffer()
								$scope.$apply()

						viewport.bind 'resize', resizeAndResizeHandler
						viewport.bind 'scroll', resizeAndResizeHandler

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