add socket func