Доведено до работающего варианта