starting to factor out run functionality :gem: