Продолжение (или его часть) поста http://wh.reactor.cc/post/4766412.