Оптимизировал код, добавил комментариев