Вот здесь грубо, но по-моему очень точно всё описано http://lurkmore.to/%D0%92%D0%B0%D0%BD%D0%B8%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B8%D0%B7%D0%B4%D0%B0