move traits into common, and extend common instead of using traits
indulge my ocd