google search - там очень подробно
Бесполезный ответ