немного улучшил теперь понятно откуда функции вызываються