При тестировании все работает, как положено (добавил комментарии к коду).