function почти работает