output is uncolored if not a tty