Simplified to do calculations manually instead of DOM writes.  Loses ability to do columns (for now)
merge