routes are now dynamically generated from path constants