Object-Oriented Automatic Differentiation Library