fix  for abstract types