switch to a character based spirit parser