working boundary exchanges, stopped using scatter