added initial route matcher and tests
tidy