trying an alternative rollback mechanism