http://joyreactor.cc/post/2239090 - перевод сего поста. Улучшенный и доделанный. 
Спасибо этим товарищам: http://joyreactor.cc/user/ToyBox и http://joyreactor.cc/user/Блинский