http://habrahabr.ru/company/m2m/blog/136428/