Add cancelFunction.
Add cancel function to initializer
Merge remote-tracking branch 'origin/patch-1'
Merge remote-tracking branch 'remotes/origin/pr/46'