rearranged client