implement dynamic language swapping.