various additions including a socket.io etude