more work on adding socket functionality and unit tests