makes changes according to client