Don't use on multiple threads