Refactored to use internal UUIDs