add deterministic select