Added run functionality to work with the readyqueue, this took a lot of testing.