add socketio
merge