Небольшие изменения в коде и оптимизации