- continuing work on socket abstraction