логика не очень-то настроина