Очередной раз переделываю....