moving plot_handle_error into plot (from funcs, funcs are now things that can be stored as a plot_function)