first-order case