Using contracts