предыдущая часть http://old.reactor.cc/post/2372001