pretty printer complete