a few of the lines in this function exceed 100 chars