updated FiniteStateClass