lots of interesting explanations in the thread