Please be consistent with `self` and `that` (the source is using `self` while we are using `that` here).