attempt to optimize gc