try to improve gc problem