potential fixes for double update and gc