improves in client and shuffle in server