upgraded for many languages