why `return this` ?