adding dynamic routing