Generalized selection