add diversity implementation