added router and request handlers