add dynamic chip sizing