added non-uniform distribution of characters