noun surface now actually contains the label instead of a pointer to the label