major refactoring, add comment support to properties pretty printer