Revised based on feedback from @jasonnoble