added adjoint