added the trait TProperty to the class