altered how generics are used