Translated by hsin