refactoring
use koa/socketio