redesigned the pinning to pin deal with things on dequeue, not on enqueue