Некоторые улучшения

Проверить нет возможности, но должно быть все правильно.