stack & queue macro