D2 with procedures