combinational logic includes copy over to opencl
merge
merge