provide generics operation