This paper investigates the method of matching regarding two crucial implementation choices, the distance measure and the type of algorithm. We implement optimal full matching - a fully efficient algorithm - and present a framework for statistical inference. The implementation uses data from the NLSY79 to study the effect of college education on earnings. We find that decisions regarding the matching algorithm depend on the structure of the data: In the case of strong selection into treatment and treatment effect heterogeneity a full matching seems preferable. If heterogeneity is weak, pair matching suffices.