recreated the CharacterState enum