Lebedev alexey branch

Goal#1 and Goal#2 were reached. Goal#3 was not.