adding support for variable routes