changed TerainGenerator to hold an array
rather than using TerainCells, which were a kind of bloaty data structure