selectively doing comm, right now just scalars are implemented