add router and messenger functionality