remove `self`, this method doesn't do any async process.