got rid of big commented section about wrapping functions to accept AD objects since we have the 'gh' function