added random to listener