- macroing everything was a dumb idea wasn't it?
- send and recv are "testable" now.