some methods of queue are optional now for convinience