Add dynamic routes support