idea for commit and rollback