Issue #29: first-pass cleanup of buildTable