implement properties on classes