length work properly, new initialize parameters, diffrent way to generate random string