added 3-rd & 4-th variant;
remain 5,6,7