documents are chained per level (up is easy anyways!) to a circle; TODO: respecting the sort ordering