pass generics to recieve param