use wait group for sync