Мне кажется, стоило бы добавить комментарии в длинных блоках кода...
Спасибо за статью!!!