work on goroutine saftey
more goroutine safety