(1) use word reordering in multi-core (2) also write counts to file