add pretty print functionality