table view is populated from an arbitrary array