add signalr and base functionality