added exercise routing and dynamic tool generation