added shared callback in router