+ good use of variable names. they are self-explanatory and easy to understand (partner for this code review is @christopherluo )