Initial source
Add test cases

For now, see test/routes.json and test/test.js for usage