the property type functions are now changed to classes