T will now work correctly when subclassed