for contract type