why do we need random number here ?