what is generic
where we have to use that generics