add ~define/contract