improved language selector