Update. Merge in new socket code and add some pictures