contract object