feat: basic web sockets functionality