немного поменял структуру.