primary classes and two principal interfaces added