is thread safe and concurrent (sort of)