making progress on pre and post conditions