look at T and Tsub for way to use properties in subclasses