prototype: target does not need to be public in frames
prototype: use UUID v1