avoid global leakage