внесены изменения в соответствии с коментами, кроме обсерв