renamed TransitionType to TransitionFunction