now buffers are kept track of in the CLDict, so that we don't need to allocate them again at each pass
moved initialization of cl entierly into init clDict