update lang. refactor