abstract element
added adjoint matrix