should make sure this variable is synchronized (atmoic)