adding a converter base class to remove redundancy