capture self as _self for use inside the block