Added base socket code, doesn't compile