adding case insensitive route functionality, tests, docs