less work for gc, perfomance; ondemand collections change bugfix