need to work on functions which could contain opencl calls