return uuid instead of pointer