IIdentifiable changed to generics