no point of using AtomicInteger here