add Aaron Crane's version of runN