add socket stuff