converting to use more generics.