Better generation + move counting