added language processing