finish the translation of Promise