Split adjoint into separate modules.