We present a general framework for forcing on ω2 with finite
conditions using countable models as side conditions. This framework is based
on a method of comparing countable models as being membership related up to a
large initial segment. We give several examples of this type of forcing,
including adding a function on ω2, adding a nonreflecting stationary
subset of ω2∩cof(ω), and adding an ω1-Kurepa
tree