Пофиксил несколько совсем мелких логических ошибок. Обработал ещё пару исключительных ситуаций