router lib