State Pattern 1 finished