Немного закомментировал, чуть оптимизировал