added some dynamic routing