change ParserFactory to support one format maps to mutiple types