still working on OpenCL C++ bindings