first optimization on the possibilities function