play logic + garbage collection