Интересная статья, собственно, навела на мысль открыть эту тему.
А статья здесь.