use finalisers to clean up concurrent execution streams
make the kernel cache thread safe