stack and queue done