Add move semantics
Add swap method to queue