Refactored how the start state works