better language handling