going to start the algorithms now, different runner class for each one seems easiest.