some random generation added