move away from the Trait based classes to the new heritage based ones