Updated again, now with help from Matthew Tole