add socket listener