added functionality to run method so that it can now run all three scenarios depending on the input you give it