By Adrian

Код структурирован хорошо, но местами избыточен.