более менее работает, перед изменением