achieved true O(numboxes) and independence from numcols