queue by pointer (no more copies, dont want to look for ref wrappers when it can be done easily with pointers)