add a runner class
re-write rake tasks using the classes and fix the specs