Немного переделанный вариант этого http://old.reactor.cc/post/3454170