a little more idempotent