first part of hessian working