Итоги голосования для комментария:
Кирилл Румянцев А что тебе не понравилось в моей реализации? Я именно с точки зрения критики спрашиваю, а не ради спора.