Change sync condition.
Refactor.
Enable canceling.