datapath impl