fixed all implicit generic decleration