split off socket and upload functions
use socketio rooms
new TODO