added new template interfaces: PackerTemplate and UnpackerTemplate