New logic to parse character-by-character