added rollback method