I notice that you often throw exception without a message in your PRs. Please take the habits to always set a message in the exception, so that users can know what is wrong instead of only knowing that something is wrong.