kevin: implement signalR