more heavy handed refactoring.
removed type arguments from most base class and interfaces.