added formula model and is_satisfied checks