Added Mark W's student solution