work on the parser and cache