procedural version completed(unless error found)