actually updates the label and handles errors in a not so polite way.