re-engineering rollback