using pointers for redo_t