add socket code