added SocketUtil module