This is not thread-safe.