some redundances fixed, test is ready
some redundances fixed, test is ready