support pretty print