impl. thread safety