fixed all but one of the base leval interfaces / abstract classes