dif framework