can be used by multiple goroutines now