- Wait object implementation
- Updated cq, so that it can use wait object