generics look prettier now