use `tap()` here