added input to run()