improve communicate