Adding Transition Logic