updated with new <router> concept