added seed and random