переписал полностью, но все равно не нравится