simplified the generics on the extension methods