added generateUUID function