output contract