тут форматування + код дублюється кілька разів. гарніше якось можна?