add router callbacks