programming diversity