Refactoroitu vähän.
Tehty FSM
Merge