update to arshaw's version