-- rejigging how send & recieve fns are contained