better recover for incomplete code