harmonizing interfaces: abstract class definitions, not finished but working