make config trait an abstract class