works for cond operator