refactor language