Code contracts sounds good. Let me look into that.