added socket listener