Added Part 2 with TypeState Interaction