check pre-condition #84 #111