added server routing and callbacks