Мне кажется, что эту функцию и предыдущую можно объединить в одну.