Refactor and add CharacterComparitor