improved if Formulize