updated dynamic routing