I still do not understand why this function should be static, please explain in details.