added decorator for functions that advance the program