Первая часть http://joyreactor.cc/post/4359898
Вторая часть http://joyreactor.cc/post/4361107