add queue
add stack