idempotent still runs things, it just doesn't change the things