Separate run() function that will eventually be called by all()