add a draft for bangbasedqueue