improve: avoid this variable point to global variable