added rollback support