change it to return self operation in completion blocks
update Example
update Tests