add router functionality