split parsers into separate modules