added in web socket functionality