rewrite the future of client