deal with languages better

I'm -1 on this, it's going to bite us badly. Let's fix this properly.