more universal, modular, pluggable output formatting ; TODO: add pluggable compression options