Added a random component to the generation