Немного исправил функции.