fixed first_or_create to use add_label