added op contracts