- added cancel request
- code optimization