formatted output support + error handling