not elegant to use the text "Trait" in the type