the main usecase would be to define AD overloads
the main usecase would be to define AD overloads