Вот тут все подробно рассказано.