D4 with procedures