add queue data struct