refactor language slot