X contains rows of data