поменял while на foreach и добавил extract