Contract-ize this