basic socketwork