added a shift boxes method to rank in order to set pigeonhole box sizes after they have been decided