turned Queue to Generic