updated to use UUIDs instead