do we need to duplicate this logic? This could call the methods on the other OutputFormat