first cut of rollback (still to be tested)