Why pass `this` to the func?