pulled up common run functionality into BaseRunner