even more gc optimizations