finish js.text.*