we're using a single atom, so no need for dosync