support generics in queue implementation