cleaner implementation of running all of the different methods