Updated with Eric's suggestions