adding `finish()` to flush CL queue