added ability to have multiple output formats