Lots of routing and some lib updates