table with variable rows and columns