better parsers structure