почти все но надо проверить2