Pseudo code:
Get names of all blocks plus limits
Get max limits of largest block
Set ins point at 0,0
Increment to the right using units of largest block + a couple units
Insert first block in list
Repeat for a number of times, then increment up/dn using units of largest block + a couple units, etc...