added lab#5 implementation