make all the receivers pointers unless you have a good reason not to.