parser/scanner redesign