https://twentysix.ru/blog/stuff/130856.html
там более-менее в подробностях