Add support for l3 routers and some fixes

TODO documentation