I added updated FSM Diagram and updated code for v2 of our code