                       State[tab: tab, staging_tab: staging, commit_tab: commit_tab] = state) do
      lc {key, entry_clock} inlist entries do
        case ETS.lookup(tab, key) do
-         [] -> history = []; value = @nil_value
-         [{^key, {value, history}}] -> :ok
+         [] -> 
+           page = 0
+           case ETS.lookup(tab, {key, page}) do
+             [] ->  history = []; value = @nil_value ; page_ctr = 0
+             [{_, {page_ctr, {value, history}}}] -> :ok
+           end
+         [{_, page}] ->
+           [{_, {page_ctr, {value, history}}}] = ETS.lookup(tab, {key, page})
        end
        {MsgPack.Map[map: commit_object_dict], ""} = MsgPack.unpack(commit_object)
        MsgPack.Map[map: log] = commit_object_dict[CO.log]

   @typep fold_req :: {:riak_core_fold_req_v1, ((term, term) -> term), term}

   @nil_value MsgPack.pack(nil)

   require Lager
   require Genomu.Constants.CommitObject

     end
   end

   defp lookup_cell_txn({key, _} = cell, State[tab: tab] = state) do
     case ETS.lookup(tab, key) do
       [] -> page = 0
       [{_, page}] -> :ok
     end
     lookup_cell_txn(cell, state, page)
   end
   defp lookup_cell_txn({key, rev} = cell, State[tab: tab, staging_tab: staging] = state, page) do
     case ETS.lookup(tab, {key, page}) do
       [] ->
         {@nil_value, "", ""}
       [{_key, {_, {value, [{entry_clock, ^rev}|_]}}}] ->
         {value, entry_clock, rev}
       [{_key, {_, {_, history}}}] ->
         case Enum.find(history, fn({entry_clock, _}) -> 
                                                         entry_clock == rev or
                                                         ITC.decode(entry_clock) |>
