Added figured out generics so that use has more control