split data3d.h to template definitions and template implementations
split definition and implimentations for data1d