add API router and router pattern defns/utils