add PropertyTrait