I Had it right the first time to put the generic params on the class, oops, instead of using multiple parameters use parameter object