Update to use socketio