fixed generics to pass unit-tests