added language recognition