Simple version works without holding into stuff that should be GC