add Interface and basic client class constructors