remove set(), it's not always useful
handling generation of new UUID if one does not exist