starting to put ProductDefinitionTemplate into a structured form