move stuff around to keep like with like
private run() to DRY things out
Merge pull request #126 from Trott/dry

Dry