issue #20: code complete