refactor to properly handle NSTableView columns