code more robust, atomic block more efficient, minor changes, yield manually to another task doesn't consume remaining calls anymore